@pantheon-systems/puck-css 0.9.0 → 0.11.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.
Files changed (246) hide show
  1. package/README.md +87 -0
  2. package/dist/auth/P1AuthProvider.d.ts.map +1 -1
  3. package/dist/auth/P1AuthProvider.js +52 -1
  4. package/dist/auth/P1AuthProvider.js.map +1 -1
  5. package/dist/collaboration/components/CollaboratorAvatars.d.ts.map +1 -1
  6. package/dist/collaboration/components/CollaboratorAvatars.js +1 -1
  7. package/dist/collaboration/components/CollaboratorAvatars.js.map +1 -1
  8. package/dist/core/PuckConfigContext.d.ts +7 -0
  9. package/dist/core/PuckConfigContext.d.ts.map +1 -0
  10. package/dist/core/PuckConfigContext.js +11 -0
  11. package/dist/core/PuckConfigContext.js.map +1 -0
  12. package/dist/core/index.d.ts +1 -0
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +1 -0
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/types.d.ts +26 -0
  17. package/dist/core/types.d.ts.map +1 -1
  18. package/dist/data/collection-operators.d.ts +19 -0
  19. package/dist/data/collection-operators.d.ts.map +1 -0
  20. package/dist/data/collection-operators.js +97 -0
  21. package/dist/data/collection-operators.js.map +1 -0
  22. package/dist/data/css-queries/css-query-registry.d.ts.map +1 -1
  23. package/dist/data/css-queries/css-query-registry.js +2 -0
  24. package/dist/data/css-queries/css-query-registry.js.map +1 -1
  25. package/dist/data/dal/p1-store.d.ts +2 -0
  26. package/dist/data/dal/p1-store.d.ts.map +1 -1
  27. package/dist/data/data-list-block/DataListFieldsGrouper.d.ts +7 -0
  28. package/dist/data/data-list-block/DataListFieldsGrouper.d.ts.map +1 -0
  29. package/dist/data/data-list-block/DataListFieldsGrouper.js +72 -0
  30. package/dist/data/data-list-block/DataListFieldsGrouper.js.map +1 -0
  31. package/dist/data/data-list-block/builtin-components/cards.d.ts +8 -0
  32. package/dist/data/data-list-block/builtin-components/cards.d.ts.map +1 -0
  33. package/dist/data/data-list-block/builtin-components/cards.js +35 -0
  34. package/dist/data/data-list-block/builtin-components/cards.js.map +1 -0
  35. package/dist/data/data-list-block/builtin-components/listing.d.ts +8 -0
  36. package/dist/data/data-list-block/builtin-components/listing.d.ts.map +1 -0
  37. package/dist/data/data-list-block/builtin-components/listing.js +11 -0
  38. package/dist/data/data-list-block/builtin-components/listing.js.map +1 -0
  39. package/dist/data/data-list-block/builtin-components/rows.d.ts +8 -0
  40. package/dist/data/data-list-block/builtin-components/rows.d.ts.map +1 -0
  41. package/dist/data/data-list-block/builtin-components/rows.js +9 -0
  42. package/dist/data/data-list-block/builtin-components/rows.js.map +1 -0
  43. package/dist/data/data-list-block/builtin-modes.d.ts +3 -0
  44. package/dist/data/data-list-block/builtin-modes.d.ts.map +1 -0
  45. package/dist/data/data-list-block/builtin-modes.js +53 -0
  46. package/dist/data/data-list-block/builtin-modes.js.map +1 -0
  47. package/dist/data/data-list-block/create-data-list-block.d.ts +3 -0
  48. package/dist/data/data-list-block/create-data-list-block.d.ts.map +1 -0
  49. package/dist/data/data-list-block/create-data-list-block.js +315 -0
  50. package/dist/data/data-list-block/create-data-list-block.js.map +1 -0
  51. package/dist/data/data-list-block/field-groups.d.ts +4 -0
  52. package/dist/data/data-list-block/field-groups.d.ts.map +1 -0
  53. package/dist/data/data-list-block/field-groups.js +29 -0
  54. package/dist/data/data-list-block/field-groups.js.map +1 -0
  55. package/dist/data/data-list-block/index.d.ts +8 -0
  56. package/dist/data/data-list-block/index.d.ts.map +1 -0
  57. package/dist/data/data-list-block/index.js +7 -0
  58. package/dist/data/data-list-block/index.js.map +1 -0
  59. package/dist/data/data-list-block/types.d.ts +55 -0
  60. package/dist/data/data-list-block/types.d.ts.map +1 -0
  61. package/dist/data/data-list-block/types.js +2 -0
  62. package/dist/data/data-list-block/types.js.map +1 -0
  63. package/dist/data/data-list-block/utils.d.ts +14 -0
  64. package/dist/data/data-list-block/utils.d.ts.map +1 -0
  65. package/dist/data/data-list-block/utils.js +65 -0
  66. package/dist/data/data-list-block/utils.js.map +1 -0
  67. package/dist/data/fields/datasource-select-field.d.ts +29 -0
  68. package/dist/data/fields/datasource-select-field.d.ts.map +1 -0
  69. package/dist/data/fields/datasource-select-field.js +40 -0
  70. package/dist/data/fields/datasource-select-field.js.map +1 -0
  71. package/dist/data/fields/field-section.d.ts +11 -0
  72. package/dist/data/fields/field-section.d.ts.map +1 -0
  73. package/dist/data/fields/field-section.js +6 -0
  74. package/dist/data/fields/field-section.js.map +1 -0
  75. package/dist/data/fields/image-position-field.d.ts +28 -0
  76. package/dist/data/fields/image-position-field.d.ts.map +1 -0
  77. package/dist/data/fields/image-position-field.js +70 -0
  78. package/dist/data/fields/image-position-field.js.map +1 -0
  79. package/dist/data/fields/pds-field-helpers.d.ts +37 -0
  80. package/dist/data/fields/pds-field-helpers.d.ts.map +1 -0
  81. package/dist/data/fields/pds-field-helpers.js +62 -0
  82. package/dist/data/fields/pds-field-helpers.js.map +1 -0
  83. package/dist/data/fields/schema-select-field.d.ts +32 -0
  84. package/dist/data/fields/schema-select-field.d.ts.map +1 -0
  85. package/dist/data/fields/schema-select-field.js +134 -0
  86. package/dist/data/fields/schema-select-field.js.map +1 -0
  87. package/dist/data/fields/template-select-field.d.ts +16 -0
  88. package/dist/data/fields/template-select-field.d.ts.map +1 -0
  89. package/dist/data/fields/template-select-field.js +32 -0
  90. package/dist/data/fields/template-select-field.js.map +1 -0
  91. package/dist/data/fields/view-mode-field.d.ts +21 -0
  92. package/dist/data/fields/view-mode-field.d.ts.map +1 -0
  93. package/dist/data/fields/view-mode-field.js +14 -0
  94. package/dist/data/fields/view-mode-field.js.map +1 -0
  95. package/dist/data/fields/visible-when.d.ts +12 -0
  96. package/dist/data/fields/visible-when.d.ts.map +1 -0
  97. package/dist/data/fields/visible-when.js +20 -0
  98. package/dist/data/fields/visible-when.js.map +1 -0
  99. package/dist/data/fields.d.ts +12 -0
  100. package/dist/data/fields.d.ts.map +1 -1
  101. package/dist/data/fields.js +10 -0
  102. package/dist/data/fields.js.map +1 -1
  103. package/dist/data/page-store.d.ts.map +1 -1
  104. package/dist/data/page-store.js +4 -1
  105. package/dist/data/page-store.js.map +1 -1
  106. package/dist/data/paths.d.ts +8 -2
  107. package/dist/data/paths.d.ts.map +1 -1
  108. package/dist/data/paths.js +33 -3
  109. package/dist/data/paths.js.map +1 -1
  110. package/dist/data/remote-datasources/loader.d.ts +6 -1
  111. package/dist/data/remote-datasources/loader.d.ts.map +1 -1
  112. package/dist/data/remote-datasources/loader.js +4 -2
  113. package/dist/data/remote-datasources/loader.js.map +1 -1
  114. package/dist/data/resolve-data-templates.d.ts.map +1 -1
  115. package/dist/data/resolve-data-templates.js +6 -1
  116. package/dist/data/resolve-data-templates.js.map +1 -1
  117. package/dist/data/schema-heuristics.d.ts +5 -0
  118. package/dist/data/schema-heuristics.d.ts.map +1 -0
  119. package/dist/data/schema-heuristics.js +46 -0
  120. package/dist/data/schema-heuristics.js.map +1 -0
  121. package/dist/editor/P1PuckProvider.d.ts.map +1 -1
  122. package/dist/editor/P1PuckProvider.js +113 -23
  123. package/dist/editor/P1PuckProvider.js.map +1 -1
  124. package/dist/editor/components/CollapsibleSection.module.css +3 -3
  125. package/dist/editor/components/FieldHelpText.module.css +1 -1
  126. package/dist/editor/components/P1InspectorFields.d.ts.map +1 -1
  127. package/dist/editor/components/P1InspectorFields.js +13 -1
  128. package/dist/editor/components/P1InspectorFields.js.map +1 -1
  129. package/dist/editor/components/PuckDataSynchronizer.d.ts.map +1 -1
  130. package/dist/editor/components/PuckDataSynchronizer.js +3 -0
  131. package/dist/editor/components/PuckDataSynchronizer.js.map +1 -1
  132. package/dist/editor/components/VersionBannerOverride.d.ts.map +1 -1
  133. package/dist/editor/components/VersionBannerOverride.js +39 -5
  134. package/dist/editor/components/VersionBannerOverride.js.map +1 -1
  135. package/dist/editor/plugin/P1Plugin.d.ts.map +1 -1
  136. package/dist/editor/plugin/P1Plugin.js +10 -53
  137. package/dist/editor/plugin/P1Plugin.js.map +1 -1
  138. package/dist/editor/plugin/context-sync-key.d.ts.map +1 -1
  139. package/dist/editor/plugin/context-sync-key.js +5 -5
  140. package/dist/editor/plugin/context-sync-key.js.map +1 -1
  141. package/dist/editor/plugin/document-sync-plugin.d.ts +23 -5
  142. package/dist/editor/plugin/document-sync-plugin.d.ts.map +1 -1
  143. package/dist/editor/plugin/document-sync-plugin.js +13 -6
  144. package/dist/editor/plugin/document-sync-plugin.js.map +1 -1
  145. package/dist/editor/useP1Editor.d.ts.map +1 -1
  146. package/dist/editor/useP1Editor.js +65 -35
  147. package/dist/editor/useP1Editor.js.map +1 -1
  148. package/dist/editor/useResponsivePanels.d.ts +29 -0
  149. package/dist/editor/useResponsivePanels.d.ts.map +1 -0
  150. package/dist/editor/useResponsivePanels.js +175 -0
  151. package/dist/editor/useResponsivePanels.js.map +1 -0
  152. package/dist/editor/useSidebarScrollPreservation.d.ts +10 -0
  153. package/dist/editor/useSidebarScrollPreservation.d.ts.map +1 -0
  154. package/dist/editor/useSidebarScrollPreservation.js +39 -0
  155. package/dist/editor/useSidebarScrollPreservation.js.map +1 -0
  156. package/dist/editor/utils/makeEagerVersionHandler.d.ts +15 -0
  157. package/dist/editor/utils/makeEagerVersionHandler.d.ts.map +1 -0
  158. package/dist/editor/utils/makeEagerVersionHandler.js +13 -0
  159. package/dist/editor/utils/makeEagerVersionHandler.js.map +1 -0
  160. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js +8 -8
  161. package/dist/features/content-type-templates/ui/TemplateDetailsPanel.js.map +1 -1
  162. package/dist/index.d.ts +5 -1
  163. package/dist/index.d.ts.map +1 -1
  164. package/dist/index.js +4 -1
  165. package/dist/index.js.map +1 -1
  166. package/dist/p1/editor/client.d.ts +0 -4
  167. package/dist/p1/editor/client.d.ts.map +1 -1
  168. package/dist/p1/editor/client.js +9 -10
  169. package/dist/p1/editor/client.js.map +1 -1
  170. package/dist/p1/editor/editor-preview-resolve.d.ts +8 -3
  171. package/dist/p1/editor/editor-preview-resolve.d.ts.map +1 -1
  172. package/dist/p1/editor/editor-preview-resolve.js +22 -7
  173. package/dist/p1/editor/editor-preview-resolve.js.map +1 -1
  174. package/dist/p1/editor/hooks/api-hooks.d.ts.map +1 -1
  175. package/dist/p1/editor/hooks/api-hooks.js.map +1 -1
  176. package/dist/p1/editor/hooks/index.d.ts +1 -0
  177. package/dist/p1/editor/hooks/index.d.ts.map +1 -1
  178. package/dist/p1/editor/hooks/index.js +1 -0
  179. package/dist/p1/editor/hooks/index.js.map +1 -1
  180. package/dist/p1/editor/hooks/useLiveRemoteDatasources.d.ts +31 -0
  181. package/dist/p1/editor/hooks/useLiveRemoteDatasources.d.ts.map +1 -0
  182. package/dist/p1/editor/hooks/useLiveRemoteDatasources.js +45 -0
  183. package/dist/p1/editor/hooks/useLiveRemoteDatasources.js.map +1 -0
  184. package/dist/p1/editor/hooks/useP1Plugins.d.ts.map +1 -1
  185. package/dist/p1/editor/hooks/useP1Plugins.js +3 -11
  186. package/dist/p1/editor/hooks/useP1Plugins.js.map +1 -1
  187. package/dist/p1/editor/icons/data-list-block-icon.d.ts +2 -0
  188. package/dist/p1/editor/icons/data-list-block-icon.d.ts.map +1 -0
  189. package/dist/p1/editor/icons/data-list-block-icon.js +5 -0
  190. package/dist/p1/editor/icons/data-list-block-icon.js.map +1 -0
  191. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts +6 -7
  192. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.d.ts.map +1 -1
  193. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js +14 -8
  194. package/dist/p1/editor/remote-datasources/remote-datasource-explorer-plugin.js.map +1 -1
  195. package/dist/p1/pages/render-client.d.ts.map +1 -1
  196. package/dist/p1/pages/render-client.js +2 -1
  197. package/dist/p1/pages/render-client.js.map +1 -1
  198. package/dist/pds/components/AgentChip.module.css +3 -3
  199. package/dist/pds/components/CreatePageModal.module.css +82 -82
  200. package/dist/pds/components/DocStateBadge.d.ts.map +1 -1
  201. package/dist/pds/components/DocStateBadge.js +1 -1
  202. package/dist/pds/components/DocStateBadge.js.map +1 -1
  203. package/dist/pds/components/P1EditorHeader.d.ts.map +1 -1
  204. package/dist/pds/components/P1EditorHeader.js +5 -2
  205. package/dist/pds/components/P1EditorHeader.js.map +1 -1
  206. package/dist/pds/components/P1EditorHeader.module.css +22 -13
  207. package/dist/pds/components/P1EditorSubheader.d.ts +1 -3
  208. package/dist/pds/components/P1EditorSubheader.d.ts.map +1 -1
  209. package/dist/pds/components/P1EditorSubheader.js +2 -2
  210. package/dist/pds/components/P1EditorSubheader.js.map +1 -1
  211. package/dist/pds/components/P1EditorSubheader.module.css +1 -5
  212. package/dist/pds/components/PageNavigator.module.css +27 -27
  213. package/dist/pds/components/PresenceStack.d.ts.map +1 -1
  214. package/dist/pds/components/PresenceStack.js +1 -1
  215. package/dist/pds/components/PresenceStack.js.map +1 -1
  216. package/dist/pds/components/PublishControl.js +2 -2
  217. package/dist/pds/components/PublishControl.js.map +1 -1
  218. package/dist/pds/components/WizardQuestion.js +4 -4
  219. package/dist/pds/components/WizardQuestion.js.map +1 -1
  220. package/dist/pds/components/WorkstreamSwitcher.d.ts.map +1 -1
  221. package/dist/pds/components/WorkstreamSwitcher.js +2 -2
  222. package/dist/pds/components/WorkstreamSwitcher.js.map +1 -1
  223. package/dist/pds/components/WorkstreamSwitcher.module.css +15 -15
  224. package/dist/pds/theme/pds-core-content.d.ts +1 -1
  225. package/dist/pds/theme/pds-core-content.d.ts.map +1 -1
  226. package/dist/pds/theme/pds-core-content.js +1 -1
  227. package/dist/pds/theme/pds-core-content.js.map +1 -1
  228. package/dist/server.d.ts +1 -1
  229. package/dist/server.d.ts.map +1 -1
  230. package/dist/server.js +1 -1
  231. package/dist/server.js.map +1 -1
  232. package/dist/versioning/components/HistoricalVersionBanner.d.ts.map +1 -1
  233. package/dist/versioning/components/HistoricalVersionBanner.js +3 -3
  234. package/dist/versioning/components/HistoricalVersionBanner.js.map +1 -1
  235. package/dist/versioning/components/HistoricalVersionBanner.module.css +174 -0
  236. package/dist/versioning/components/VersionBannerActions.d.ts.map +1 -1
  237. package/dist/versioning/components/VersionBannerActions.js +11 -3
  238. package/dist/versioning/components/VersionBannerActions.js.map +1 -1
  239. package/dist/versioning/utils/versionKind.js +3 -3
  240. package/dist/versioning/utils/versionKind.js.map +1 -1
  241. package/package.json +5 -4
  242. package/src/pds/theme/PuckEditorTheme.css +22 -22
  243. package/src/pds/theme/PuckEditorTheme.test.ts +9 -9
  244. package/src/pds/theme/pds-core-content.ts +1 -1
  245. package/src/pds/theme/pds-core.css +1 -1
  246. package/src/styles.css +259 -219
package/src/styles.css CHANGED
@@ -11,20 +11,6 @@
11
11
  * Styles for version comparison and other UI components.
12
12
  */
13
13
 
14
- /* ============================================
15
- Plugin Rail Toggle
16
- ============================================ */
17
-
18
- /* Hide the plugin rail (left navigation with Blocks/Outline/History/etc.) */
19
- .p1-hide-plugin-rail [class*='_PuckLayout-nav_'] {
20
- display: none;
21
- }
22
-
23
- /* Reclaim the space - set the side nav width to 0 so grid collapses that column */
24
- .p1-hide-plugin-rail [class*='_PuckLayout-inner_'] {
25
- --puck-side-nav-width: 0;
26
- }
27
-
28
14
  /* ============================================
29
15
  Sidebar Background Matching
30
16
  ============================================ */
@@ -34,7 +20,7 @@
34
20
  [class*='_BlocksPlugin_'],
35
21
  [class*='_Sidebar--left_'],
36
22
  [class*='_Sidebar--right_'] {
37
- background: var(--pds-color-bg-default, oklch(1 0 0)) !important;
23
+ background: var(--pds-color-surface-default, oklch(1 0 0)) !important;
38
24
  }
39
25
 
40
26
  /* PanelShell must fill the Puck container flush. Zero out Puck's built-in
@@ -100,8 +86,8 @@
100
86
  font-size: 12px;
101
87
  font-weight: 500;
102
88
  line-height: 1.4;
103
- color: var(--pds-color-text-secondary, var(--puck-css-text-secondary));
104
- background: var(--pds-color-bg-default-secondary, var(--puck-css-bg-secondary));
89
+ color: var(--pds-color-foreground-default-secondary, var(--puck-css-text-secondary));
90
+ background: var(--pds-color-surface-default-secondary, var(--puck-css-bg-secondary));
105
91
  border-bottom: 1px solid var(--pds-color-border-default, var(--puck-css-border));
106
92
  flex-shrink: 0;
107
93
  }
@@ -122,7 +108,7 @@
122
108
  font-size: 15px;
123
109
  font-weight: 600;
124
110
  line-height: 1;
125
- color: var(--pds-color-text-secondary, var(--puck-css-text-secondary));
111
+ color: var(--pds-color-foreground-default-secondary, var(--puck-css-text-secondary));
126
112
  background: none;
127
113
  border: none;
128
114
  cursor: pointer;
@@ -136,7 +122,7 @@
136
122
  }
137
123
 
138
124
  .p1-inspector-tab[aria-selected='true'] {
139
- color: var(--pds-color-text-primary, var(--puck-css-text));
125
+ color: var(--pds-color-foreground-default, var(--puck-css-text));
140
126
  }
141
127
 
142
128
  .p1-inspector-tab[aria-selected='true']::after {
@@ -169,12 +155,12 @@
169
155
  background: none;
170
156
  border: none;
171
157
  cursor: pointer;
172
- color: var(--pds-color-text-secondary, var(--puck-css-text-secondary));
158
+ color: var(--pds-color-foreground-default-secondary, var(--puck-css-text-secondary));
173
159
  outline: none;
174
160
  }
175
161
 
176
162
  .p1-inspector-tab-collapse:hover {
177
- color: var(--pds-color-fg-default, var(--pds-color-text-primary, var(--puck-css-text)));
163
+ color: var(--pds-color-foreground-default, var(--puck-css-text));
178
164
  }
179
165
 
180
166
  .p1-inspector-tab-collapse:focus-visible {
@@ -192,7 +178,7 @@
192
178
  font-size: 13px;
193
179
  font-weight: 500;
194
180
  line-height: 1.4;
195
- color: var(--pds-color-text-secondary, var(--puck-css-text-secondary));
181
+ color: var(--pds-color-foreground-default-secondary, var(--puck-css-text-secondary));
196
182
  border-bottom: 1px solid var(--pds-color-border-default, var(--puck-css-border));
197
183
  flex-shrink: 0;
198
184
  }
@@ -202,7 +188,28 @@
202
188
  }
203
189
 
204
190
  .p1-inspector-breadcrumb__block {
205
- color: var(--pds-color-fg-default, var(--pds-color-text-primary, var(--puck-css-text)));
191
+ color: var(--pds-color-foreground-default, var(--puck-css-text));
192
+ font-weight: 600;
193
+ }
194
+
195
+ .p1-inspector-template-badge {
196
+ display: flex;
197
+ align-items: center;
198
+ gap: 8px;
199
+ padding: 12px 16px;
200
+ margin-top: 8px;
201
+ border-top: 1px solid var(--pds-color-border-default, oklch(0.9401 0 0));
202
+ font-size: 13px;
203
+ line-height: 1.4;
204
+ }
205
+
206
+ .p1-inspector-template-badge__label {
207
+ color: var(--pds-color-foreground-default-secondary, oklch(0.55 0 0));
208
+ font-weight: 500;
209
+ }
210
+
211
+ .p1-inspector-template-badge__name {
212
+ color: var(--pds-color-foreground-default, var(--puck-css-text));
206
213
  font-weight: 600;
207
214
  }
208
215
 
@@ -212,7 +219,7 @@
212
219
  width: 100%;
213
220
  /* Follows the header/subheader knobs (P1EditorHeader/P1EditorSubheader modules) */
214
221
  min-height: calc(100vh - (var(--p1-header-h, 60px) + var(--p1-subheader-h, 48px)));
215
- background: var(--pds-color-bg-default, #fff);
222
+ background: var(--pds-color-surface-default, #fff);
216
223
  border-left: 1px solid var(--pds-color-border-default, oklch(0.9401 0 0));
217
224
  display: flex;
218
225
  justify-content: center;
@@ -962,133 +969,6 @@
962
969
  background: var(--puck-css-diff-reordered);
963
970
  }
964
971
 
965
- /* ============================================
966
- HistoricalVersionBanner
967
- ============================================ */
968
- .historical-version-banner {
969
- display: flex;
970
- align-items: center;
971
- gap: var(--pds-spacing-xs);
972
- padding: var(--pds-spacing-xs) var(--pds-spacing-l);
973
- background: var(--pds-color-bg-default-secondary, #f9fafb);
974
- border-top: 2px solid var(--pds-color-interactive-link-default, #3A5DFB);
975
- border-bottom: var(--pds-border-width-default, 1px) solid var(--pds-color-border-secondary, #ececf0);
976
- color: var(--pds-color-fg-default, #171717);
977
- font-family: var(--pds-typography-ff-default, 'Inter', system-ui, sans-serif);
978
- min-height: var(--pds-spacing-button-height-m);
979
- flex-wrap: wrap;
980
- }
981
-
982
- .historical-version-banner__icon {
983
- display: flex;
984
- align-items: center;
985
- justify-content: center;
986
- color: var(--pds-color-interactive-link-default, #3A5DFB);
987
- flex: none;
988
- }
989
-
990
- .historical-version-banner__content {
991
- display: flex;
992
- align-items: center;
993
- gap: var(--pds-spacing-3xs);
994
- }
995
-
996
- .historical-version-banner__text {
997
- font: 500 var(--pds-typography-size-m) var(--pds-typography-ff-default, 'Inter', system-ui, sans-serif);
998
- color: var(--pds-color-fg-default, #171717);
999
- }
1000
-
1001
- .historical-version-banner__text strong {
1002
- font: 700 var(--pds-typography-size-m) var(--pds-typography-ff-compact, 'Inter Tight', 'Inter', system-ui, sans-serif);
1003
- }
1004
-
1005
- .historical-version-banner__date {
1006
- font: 500 var(--pds-typography-size-m) var(--pds-typography-ff-default, 'Inter', system-ui, sans-serif);
1007
- color: var(--pds-color-fg-default, #171717);
1008
- }
1009
-
1010
- .historical-version-banner__actions {
1011
- display: flex;
1012
- align-items: center;
1013
- gap: var(--pds-spacing-2xs);
1014
- margin-left: auto;
1015
- flex: none;
1016
- }
1017
-
1018
- .historical-version-banner__exit-btn {
1019
- /* Reset browser button defaults without wiping font (all:unset kills font too) */
1020
- appearance: none;
1021
- -webkit-appearance: none;
1022
- box-sizing: border-box;
1023
- display: inline-flex;
1024
- align-items: center;
1025
- justify-content: center;
1026
- border: var(--pds-border-width-default, 1px) solid var(--pds-color-border-default, #d4d4d4);
1027
- background: var(--pds-color-bg-surface, white);
1028
- border-radius: 9px;
1029
- padding: 9px 20px;
1030
- font: 600 var(--pds-typography-size-m) var(--pds-typography-ff-compact, 'Inter Tight', 'Inter', system-ui, sans-serif);
1031
- color: var(--pds-color-fg-default, #171717);
1032
- cursor: pointer;
1033
- white-space: nowrap;
1034
- transition: var(--pds-animation-transition-button);
1035
- line-height: 1;
1036
- }
1037
-
1038
- .historical-version-banner__exit-btn:hover:not(:disabled) {
1039
- background: var(--pds-color-interactive-background-hover, #f5f5f5);
1040
- }
1041
-
1042
- .historical-version-banner__exit-btn:disabled {
1043
- opacity: 0.5;
1044
- cursor: default;
1045
- }
1046
-
1047
- .historical-version-banner__revert-btn {
1048
- display: inline-flex;
1049
- align-items: center;
1050
- justify-content: center;
1051
- gap: var(--pds-spacing-button-gap-inline-m);
1052
- border: none;
1053
- border-radius: var(--pds-border-radius-button);
1054
- background: var(--pds-color-fg-default, #171717);
1055
- color: white;
1056
- font: 700 var(--pds-typography-size-m) var(--pds-typography-ff-compact, 'Inter Tight', 'Inter', system-ui, sans-serif);
1057
- padding: 11px 18px;
1058
- cursor: pointer;
1059
- white-space: nowrap;
1060
- transition: var(--pds-animation-transition-button);
1061
- line-height: 1;
1062
- }
1063
-
1064
- .historical-version-banner__revert-btn:hover:not(:disabled) {
1065
- filter: brightness(1.15);
1066
- }
1067
-
1068
- .historical-version-banner__revert-btn:disabled {
1069
- opacity: 0.6;
1070
- cursor: default;
1071
- }
1072
-
1073
- .historical-version-banner__error {
1074
- width: 100%;
1075
- margin: 4px 0 2px;
1076
- padding: 0;
1077
- font-size: var(--pds-typography-size-s, 0.875rem);
1078
- color: var(--pds-color-status-error-icon, #c0392b);
1079
- }
1080
-
1081
- .historical-version-banner__spinner {
1082
- display: inline-block;
1083
- width: 12px;
1084
- height: 12px;
1085
- border: 2px solid currentColor;
1086
- border-top-color: transparent;
1087
- border-radius: 50%;
1088
- animation: css-plugin-version-spin 0.6s linear infinite;
1089
- flex: none;
1090
- }
1091
-
1092
972
  /* ============================================
1093
973
  CSS Plugin Panel
1094
974
  ============================================ */
@@ -1277,7 +1157,7 @@
1277
1157
 
1278
1158
  .css-plugin-version-author {
1279
1159
  font-size: 0.75rem;
1280
- color: var(--pds-color-fg-default-secondary, #666);
1160
+ color: var(--pds-color-foreground-default-secondary, #666);
1281
1161
  margin-top: 2px;
1282
1162
  }
1283
1163
 
@@ -1356,7 +1236,7 @@
1356
1236
  }
1357
1237
 
1358
1238
  .css-plugin-version-row--selected {
1359
- background: var(--pds-color-bg-default-secondary, #f9fafb);
1239
+ background: var(--pds-color-surface-default-secondary, #f9fafb);
1360
1240
  border-left: 3px solid var(--pds-color-interactive-link-default, #3A5DFB);
1361
1241
  }
1362
1242
 
@@ -1380,7 +1260,7 @@
1380
1260
  }
1381
1261
 
1382
1262
  .css-plugin-version-dot--reverted {
1383
- background: var(--pds-color-fg-default-secondary, #9a9a9a);
1263
+ background: var(--pds-color-foreground-default-secondary, #9a9a9a);
1384
1264
  }
1385
1265
 
1386
1266
  /* Content column */
@@ -1400,7 +1280,7 @@
1400
1280
  .css-plugin-version-meta .css-plugin-version-number {
1401
1281
  font-weight: 700;
1402
1282
  font-size: 13px;
1403
- color: var(--pds-color-fg-default, var(--puck-css-text));
1283
+ color: var(--pds-color-foreground-default, var(--puck-css-text));
1404
1284
  }
1405
1285
 
1406
1286
  /* Kind tags: Current / Published / Reverted */
@@ -1426,8 +1306,8 @@
1426
1306
  }
1427
1307
 
1428
1308
  .css-plugin-version-kind-tag--reverted {
1429
- color: var(--pds-color-fg-default-secondary, #6b6b6b);
1430
- background: var(--pds-color-bg-default-secondary, #f0f0f0);
1309
+ color: var(--pds-color-foreground-default-secondary, #6b6b6b);
1310
+ background: var(--pds-color-surface-default-secondary, #f0f0f0);
1431
1311
  }
1432
1312
 
1433
1313
  /* Day group headers */
@@ -1440,11 +1320,11 @@
1440
1320
  font-weight: 700;
1441
1321
  text-transform: uppercase;
1442
1322
  letter-spacing: 0.06em;
1443
- color: var(--pds-color-fg-default-secondary, #9a9a9a);
1323
+ color: var(--pds-color-foreground-default-secondary, #9a9a9a);
1444
1324
  padding: 8px var(--pds-spacing-s, 12px) 4px;
1445
1325
  position: sticky;
1446
1326
  top: 0;
1447
- background: var(--pds-color-bg-default, #fff);
1327
+ background: var(--pds-color-surface-default, #fff);
1448
1328
  z-index: 1;
1449
1329
  }
1450
1330
 
@@ -1476,35 +1356,6 @@
1476
1356
  color: var(--pds-color-foreground-default);
1477
1357
  }
1478
1358
 
1479
- /* Banner steppers */
1480
- .historical-version-banner__steppers {
1481
- display: flex;
1482
- gap: 2px;
1483
- }
1484
-
1485
- .historical-version-banner__stepper-btn {
1486
- display: flex;
1487
- align-items: center;
1488
- justify-content: center;
1489
- width: 32px;
1490
- height: 32px;
1491
- border-radius: 6px;
1492
- border: 1px solid var(--pds-color-border-secondary, #ececf0);
1493
- background: transparent;
1494
- cursor: pointer;
1495
- color: var(--pds-color-fg-default, #1a1a1a);
1496
- transition: background 100ms ease;
1497
- }
1498
-
1499
- .historical-version-banner__stepper-btn:hover:not(:disabled) {
1500
- background: var(--pds-color-bg-default-secondary, #f9fafb);
1501
- }
1502
-
1503
- .historical-version-banner__stepper-btn:disabled {
1504
- opacity: 0.35;
1505
- cursor: not-allowed;
1506
- }
1507
-
1508
1359
  /* Unpublished changes pill on current version row */
1509
1360
  .css-plugin-version-unpublished {
1510
1361
  display: inline-block;
@@ -1520,7 +1371,7 @@
1520
1371
  /* Byline: date · author */
1521
1372
  .css-plugin-version-byline {
1522
1373
  font-size: 11.5px;
1523
- color: var(--pds-color-fg-default-secondary, #9a9a9a);
1374
+ color: var(--pds-color-foreground-default-secondary, #9a9a9a);
1524
1375
  margin-top: 3px;
1525
1376
  white-space: nowrap;
1526
1377
  overflow: hidden;
@@ -1531,14 +1382,10 @@
1531
1382
  .css-plugin-version-revert-source {
1532
1383
  font-size: 11px;
1533
1384
  font-weight: 600;
1534
- color: var(--pds-color-fg-default-secondary, #9a9a9a);
1385
+ color: var(--pds-color-foreground-default-secondary, #9a9a9a);
1535
1386
  margin-top: 2px;
1536
1387
  }
1537
1388
 
1538
- @keyframes css-plugin-version-spin {
1539
- to { transform: rotate(360deg); }
1540
- }
1541
-
1542
1389
  /* ============================================
1543
1390
  Toast Notifications
1544
1391
  ============================================ */
@@ -2827,6 +2674,10 @@
2827
2674
  nth-child(3) CSS plugin → rotateClock (React NavIcon in CSSPlugin)
2828
2675
  nth-child(4) AI plugin → sparkles (targeted by nth-child)
2829
2676
  nth-child(5) PCC plugin → fileLines (targeted by nth-child)
2677
+
2678
+ The positional slots only apply when the tab has no PDS icon of its own — the
2679
+ rail reorders whenever a plugin gains or loses `render`, so a slot may hold a
2680
+ plugin that already ships its icon, and painting over it would double up.
2830
2681
  ============================================================================= */
2831
2682
 
2832
2683
  /* 1. Hide all text labels.
@@ -2840,8 +2691,8 @@
2840
2691
  /* 2. Shared pseudo-element for injected SVG icons */
2841
2692
  [class*='NavItem-linkIcon']:has(svg.lucide-hammer)::after,
2842
2693
  [class*='NavItem-linkIcon']:has(svg.lucide-layers)::after,
2843
- [class*='Nav-list'] > li:nth-child(4) [class*='NavItem-linkIcon']::after,
2844
- [class*='Nav-list'] > li:nth-child(5) [class*='NavItem-linkIcon']::after {
2694
+ [class*='Nav-list'] > li:nth-child(4) [class*='NavItem-linkIcon']:not(:has(.pds-icon))::after,
2695
+ [class*='Nav-list'] > li:nth-child(5) [class*='NavItem-linkIcon']:not(:has(.pds-icon))::after {
2845
2696
  content: '';
2846
2697
  display: block;
2847
2698
  width: 20px;
@@ -2857,8 +2708,8 @@ svg.lucide-layers {
2857
2708
  display: none;
2858
2709
  }
2859
2710
 
2860
- [class*='Nav-list'] > li:nth-child(4) [class*='NavItem-linkIcon'] > *,
2861
- [class*='Nav-list'] > li:nth-child(5) [class*='NavItem-linkIcon'] > * {
2711
+ [class*='Nav-list'] > li:nth-child(4) [class*='NavItem-linkIcon']:not(:has(.pds-icon)) > *,
2712
+ [class*='Nav-list'] > li:nth-child(5) [class*='NavItem-linkIcon']:not(:has(.pds-icon)) > * {
2862
2713
  display: none;
2863
2714
  }
2864
2715
 
@@ -2875,12 +2726,12 @@ svg.lucide-layers {
2875
2726
  }
2876
2727
 
2877
2728
  /* AI plugin (4th) → fa-sparkles */
2878
- [class*='Nav-list'] > li:nth-child(4) [class*='NavItem-linkIcon']::after {
2729
+ [class*='Nav-list'] > li:nth-child(4) [class*='NavItem-linkIcon']:not(:has(.pds-icon))::after {
2879
2730
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath fill='%23374151' d='M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z'/%3E%3C/svg%3E");
2880
2731
  }
2881
2732
 
2882
2733
  /* PCC plugin (5th) → fa-file-lines */
2883
- [class*='Nav-list'] > li:nth-child(5) [class*='NavItem-linkIcon']::after {
2734
+ [class*='Nav-list'] > li:nth-child(5) [class*='NavItem-linkIcon']:not(:has(.pds-icon))::after {
2884
2735
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='%23374151' d='M0 64C0 28.7 28.7 0 64 0L213.5 0c17 0 33.3 6.7 45.3 18.7L365.3 125.3c12 12 18.7 28.3 18.7 45.3L384 448c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 64zm208-5.5l0 93.5c0 13.3 10.7 24 24 24L325.5 176 208 58.5zM120 256c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0zm0 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l144 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-144 0z'/%3E%3C/svg%3E");
2885
2736
  }
2886
2737
 
@@ -2979,7 +2830,7 @@ svg.lucide-layers {
2979
2830
  position: fixed;
2980
2831
  inset: 0;
2981
2832
  z-index: 10001;
2982
- background: var(--pds-color-bg-default, #fff);
2833
+ background: var(--pds-color-surface-default, #fff);
2983
2834
  display: flex;
2984
2835
  flex-direction: column;
2985
2836
  }
@@ -3004,12 +2855,12 @@ svg.lucide-layers {
3004
2855
  border: none;
3005
2856
  font-size: 1rem;
3006
2857
  cursor: pointer;
3007
- color: var(--pds-color-fg-default-secondary, #6b7280);
2858
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3008
2859
  padding: 0.25rem 0.5rem;
3009
2860
  }
3010
2861
 
3011
2862
  .template-manager-overlay__close:hover {
3012
- color: var(--pds-color-fg-default, #1f2937);
2863
+ color: var(--pds-color-foreground-default, #1f2937);
3013
2864
  }
3014
2865
 
3015
2866
  .template-manager-overlay__error {
@@ -3032,7 +2883,7 @@ svg.lucide-layers {
3032
2883
  .template-manager-overlay__empty {
3033
2884
  padding: 2rem;
3034
2885
  text-align: center;
3035
- color: var(--pds-color-fg-default-secondary, #6b7280);
2886
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3036
2887
  font-size: 0.875rem;
3037
2888
  }
3038
2889
 
@@ -3055,7 +2906,7 @@ svg.lucide-layers {
3055
2906
  }
3056
2907
 
3057
2908
  .template-manager-overlay__template-item:hover {
3058
- background: var(--pds-color-bg-default-secondary, #f9fafb);
2909
+ background: var(--pds-color-surface-default-secondary, #f9fafb);
3059
2910
  }
3060
2911
 
3061
2912
  .template-manager-overlay__template-info {
@@ -3071,7 +2922,7 @@ svg.lucide-layers {
3071
2922
 
3072
2923
  .template-manager-overlay__template-meta {
3073
2924
  font-size: 0.75rem;
3074
- color: var(--pds-color-fg-default-secondary, #6b7280);
2925
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3075
2926
  }
3076
2927
 
3077
2928
  .template-manager-overlay__template-actions {
@@ -3116,7 +2967,7 @@ svg.lucide-layers {
3116
2967
  .template-manager-overlay__field-label {
3117
2968
  font-size: 0.75rem;
3118
2969
  font-weight: 600;
3119
- color: var(--pds-color-fg-default-secondary, #6b7280);
2970
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3120
2971
  text-transform: uppercase;
3121
2972
  letter-spacing: 0.05em;
3122
2973
  }
@@ -3140,8 +2991,8 @@ svg.lucide-layers {
3140
2991
  }
3141
2992
 
3142
2993
  .template-manager-overlay__input:disabled {
3143
- background: var(--pds-color-bg-default-secondary, #f9fafb);
3144
- color: var(--pds-color-fg-default-secondary, #6b7280);
2994
+ background: var(--pds-color-surface-default-secondary, #f9fafb);
2995
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3145
2996
  }
3146
2997
 
3147
2998
  .template-manager-overlay__save-actions {
@@ -3157,7 +3008,7 @@ svg.lucide-layers {
3157
3008
  align-items: center;
3158
3009
  justify-content: center;
3159
3010
  height: 100%;
3160
- color: var(--pds-color-fg-default-secondary, #6b7280);
3011
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3161
3012
  }
3162
3013
 
3163
3014
  /* ── Template Pin Panel ───────────────────────────────────────────────── */
@@ -3169,7 +3020,7 @@ svg.lucide-layers {
3169
3020
  }
3170
3021
 
3171
3022
  .template-pin-panel--empty {
3172
- color: var(--pds-color-fg-default-secondary, #6b7280);
3023
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3173
3024
  font-size: 0.8125rem;
3174
3025
  font-style: italic;
3175
3026
  }
@@ -3177,7 +3028,7 @@ svg.lucide-layers {
3177
3028
  .template-pin-panel__header {
3178
3029
  font-size: 0.75rem;
3179
3030
  font-weight: 600;
3180
- color: var(--pds-color-fg-default-secondary, #6b7280);
3031
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3181
3032
  text-transform: uppercase;
3182
3033
  letter-spacing: 0.05em;
3183
3034
  margin-bottom: 0.5rem;
@@ -3202,7 +3053,7 @@ svg.lucide-layers {
3202
3053
  }
3203
3054
 
3204
3055
  .template-pin-panel__item:hover {
3205
- background: var(--pds-color-bg-default-secondary, #f9fafb);
3056
+ background: var(--pds-color-surface-default-secondary, #f9fafb);
3206
3057
  }
3207
3058
 
3208
3059
  .template-pin-panel__type {
@@ -3214,7 +3065,7 @@ svg.lucide-layers {
3214
3065
  align-items: center;
3215
3066
  gap: 0.25rem;
3216
3067
  font-size: 0.75rem;
3217
- color: var(--pds-color-fg-default-secondary, #6b7280);
3068
+ color: var(--pds-color-foreground-default-secondary, #6b7280);
3218
3069
  cursor: pointer;
3219
3070
  }
3220
3071
 
@@ -3234,7 +3085,7 @@ svg.lucide-layers {
3234
3085
  flex-wrap: wrap;
3235
3086
  align-items: center;
3236
3087
  gap: 0.5rem;
3237
- background: var(--pds-color-bg-default-secondary);
3088
+ background: var(--pds-color-surface-default-secondary);
3238
3089
  padding: 0.5rem 0.75rem;
3239
3090
  border-bottom: 1px solid var(--pds-color-border-default, #e5e7eb);
3240
3091
  }
@@ -3271,7 +3122,7 @@ svg.lucide-layers {
3271
3122
  .css-preview-panel-overlay__label {
3272
3123
  margin: 0;
3273
3124
  font-size: 0.8125rem;
3274
- color: var(--pds-color-fg-default, #171717);
3125
+ color: var(--pds-color-foreground-default, #171717);
3275
3126
  font-family: Poppins, sans-serif;
3276
3127
  word-break: break-word;
3277
3128
  }
@@ -3314,7 +3165,7 @@ svg.lucide-layers {
3314
3165
  font-weight: 600;
3315
3166
  letter-spacing: 0.06em;
3316
3167
  text-transform: uppercase;
3317
- color: var(--pds-color-text-secondary, var(--puck-css-text-secondary));
3168
+ color: var(--pds-color-foreground-default-secondary, var(--puck-css-text-secondary));
3318
3169
  }
3319
3170
 
3320
3171
  .p1-blocks-drawer__expand-btn {
@@ -3366,7 +3217,7 @@ svg.lucide-layers {
3366
3217
  border: 1px solid var(--pds-color-border-default, #e5e7eb);
3367
3218
  border-radius: 8px;
3368
3219
  overflow: hidden;
3369
- background: var(--pds-color-bg-default, #fff);
3220
+ background: var(--pds-color-surface-default, #fff);
3370
3221
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
3371
3222
  cursor: grab;
3372
3223
  }
@@ -3389,6 +3240,195 @@ svg.lucide-layers {
3389
3240
  overflow: hidden;
3390
3241
  text-overflow: ellipsis;
3391
3242
  white-space: nowrap;
3392
- color: var(--pds-color-text-primary, var(--puck-css-text));
3243
+ color: var(--pds-color-foreground-default, var(--puck-css-text));
3244
+ }
3245
+
3246
+ /* ============================================
3247
+ Inspector Field Spacing
3248
+ ============================================ */
3249
+
3250
+ .p1-inspector-fields [class*='_InputWrapper_'] + [class*='_InputWrapper_'] {
3251
+ margin-top: 16px;
3252
+ }
3253
+
3254
+ .p1-inspector-fields [class*='_Input-label_'] {
3255
+ padding-bottom: 8px;
3256
+ }
3257
+
3258
+ .p1-inspector-fields [class*='_Input-label_']::after {
3259
+ content: ':';
3260
+ }
3261
+
3262
+ /* ============================================
3263
+ Field Section (collapsible sidebar groups)
3264
+ ============================================ */
3265
+
3266
+ .p1-field-section {
3267
+ border-bottom: 1px solid var(--puck-color-grey-09, #e0e0e0);
3268
+ }
3269
+
3270
+ .p1-field-section:last-of-type {
3271
+ border-bottom: none;
3272
+ }
3273
+
3274
+ .p1-field-section__header {
3275
+ width: 100%;
3276
+ display: flex;
3277
+ align-items: center;
3278
+ gap: 6px;
3279
+ padding: 13px 20px;
3280
+ border: none;
3281
+ background: transparent;
3282
+ cursor: pointer;
3283
+ user-select: none;
3284
+ list-style: none;
3285
+ }
3286
+
3287
+ .p1-field-section__header::-webkit-details-marker {
3288
+ display: none;
3289
+ }
3290
+
3291
+ .p1-field-section__label {
3292
+ font: 600 11.5px/1 var(--pds-font-family, sans-serif);
3293
+ letter-spacing: 0.1em;
3294
+ text-transform: uppercase;
3295
+ color: #9a9a9a;
3296
+ }
3297
+
3298
+ .p1-field-section__header:hover .p1-field-section__label {
3299
+ color: var(--puck-color-grey-01, #1a1a1a);
3300
+ }
3301
+
3302
+ .p1-field-section__badge {
3303
+ font: 600 10px/1 var(--pds-font-family, sans-serif);
3304
+ letter-spacing: 0;
3305
+ color: #9a9a9a;
3306
+ background: #f0f0f0;
3307
+ border-radius: 99px;
3308
+ padding: 1px 7px;
3309
+ }
3310
+
3311
+ .p1-field-section__chevron {
3312
+ margin-left: auto;
3313
+ width: 15px;
3314
+ height: 15px;
3315
+ transition: transform 0.15s ease;
3316
+ background: #c4c4c4;
3317
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
3318
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='currentColor' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
3319
+ }
3320
+
3321
+ .p1-field-section[open] > .p1-field-section__header .p1-field-section__chevron {
3322
+ transform: rotate(0deg);
3323
+ }
3324
+
3325
+ .p1-field-section:not([open]) > .p1-field-section__header .p1-field-section__chevron {
3326
+ transform: rotate(-90deg);
3327
+ }
3328
+
3329
+ .p1-field-section__subtitle {
3330
+ margin: 0;
3331
+ padding: 0 20px 8px;
3332
+ font: 400 12px/1.4 var(--pds-font-family, sans-serif);
3333
+ color: #7c7c7c;
3334
+ }
3335
+
3336
+ .p1-field-section__body {
3337
+ padding: 0 20px 18px;
3338
+ display: flex;
3339
+ flex-direction: column;
3340
+ gap: 14px;
3393
3341
  }
3394
3342
 
3343
+ .p1-field-mapping-section__title {
3344
+ font-size: 13px;
3345
+ font-weight: 700;
3346
+ color: var(--puck-color-grey-01, #1a1a1a);
3347
+ margin: 4px 0 2px;
3348
+ padding: 0;
3349
+ }
3350
+
3351
+ .p1-field-mapping-section__subtitle {
3352
+ font-size: 12px;
3353
+ font-weight: 500;
3354
+ color: #7c7c7c;
3355
+ margin: 0 0 6px;
3356
+ padding: 0;
3357
+ line-height: 1.4;
3358
+ }
3359
+
3360
+ /* Schema-select field: custom label with required asterisk and type hint */
3361
+ .p1-schema-field__label-row {
3362
+ display: flex;
3363
+ align-items: baseline;
3364
+ gap: 4px;
3365
+ margin-bottom: 4px;
3366
+ }
3367
+
3368
+ .p1-schema-field__label {
3369
+ font-size: 12px;
3370
+ font-weight: 600;
3371
+ color: var(--puck-color-grey-01, #1a1a1a);
3372
+ }
3373
+
3374
+ .p1-schema-field__required {
3375
+ color: #e53e3e;
3376
+ font-weight: 600;
3377
+ }
3378
+
3379
+ .p1-schema-field__type-hint {
3380
+ font-size: 11px;
3381
+ font-weight: 400;
3382
+ color: #9a9a9a;
3383
+ }
3384
+
3385
+ /* Unmapped fields counter below field mapping section */
3386
+ .p1-field-mapping-section__unmapped {
3387
+ font-size: 11px;
3388
+ font-weight: 500;
3389
+ color: #9a9a9a;
3390
+ margin: 8px 0 0;
3391
+ padding: 0;
3392
+ }
3393
+
3394
+ /* Schema-select field row: dropdown + eye toggle inline */
3395
+ .p1-schema-select-row {
3396
+ display: flex;
3397
+ align-items: flex-end;
3398
+ gap: 6px;
3399
+ }
3400
+
3401
+ .p1-schema-select-row__control {
3402
+ flex: 1;
3403
+ min-width: 0;
3404
+ }
3405
+
3406
+ /* Eye toggle button for schema-select field visibility */
3407
+ .p1-eye-toggle {
3408
+ display: inline-flex;
3409
+ align-items: center;
3410
+ justify-content: center;
3411
+ width: 36px;
3412
+ height: 36px;
3413
+ padding: 0;
3414
+ border: 1px solid var(--puck-color-grey-09, #e0e0e0);
3415
+ border-radius: 50%;
3416
+ background: transparent;
3417
+ color: var(--puck-color-grey-04, #666);
3418
+ cursor: pointer;
3419
+ flex-shrink: 0;
3420
+ transition: color 0.15s, border-color 0.15s;
3421
+ }
3422
+
3423
+ .p1-eye-toggle:hover {
3424
+ color: var(--puck-color-grey-01, #1a1a1a);
3425
+ border-color: var(--puck-color-grey-05, #999);
3426
+ }
3427
+
3428
+ .p1-eye-toggle--off {
3429
+ color: var(--puck-color-grey-07, #bbb);
3430
+ }
3431
+
3432
+ .p1-eye-toggle--off:hover {
3433
+ color: var(--puck-color-grey-04, #666);
3434
+ }