@measured/puck 0.16.0-canary.f761e5f → 0.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -140,12 +140,12 @@ type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponen
140
140
  changed: Partial<Record<keyof FieldProps, boolean>>;
141
141
  fields: Fields<FieldProps>;
142
142
  lastFields: Fields<FieldProps>;
143
- lastData: DataShape;
143
+ lastData: DataShape | null;
144
144
  appState: AppState;
145
145
  }) => Promise<Fields<FieldProps>> | Fields<FieldProps>;
146
146
  resolveData?: (data: DataShape, params: {
147
147
  changed: Partial<Record<keyof FieldProps, boolean>>;
148
- lastData: DataShape;
148
+ lastData: DataShape | null;
149
149
  }) => Promise<{
150
150
  props?: Partial<FieldProps>;
151
151
  readOnly?: Partial<Record<keyof FieldProps, boolean>>;
@@ -155,10 +155,11 @@ type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponen
155
155
  };
156
156
  resolvePermissions?: (data: DataShape, params: {
157
157
  changed: Partial<Record<keyof FieldProps, boolean>>;
158
- lastPermissions: Partial<Permissions> | undefined;
159
- initialPermissions: Partial<Permissions>;
158
+ lastPermissions: Partial<Permissions>;
159
+ permissions: Partial<Permissions>;
160
160
  appState: AppState;
161
- }) => Partial<Permissions>;
161
+ lastData: DataShape | null;
162
+ }) => Promise<Partial<Permissions>> | Partial<Permissions>;
162
163
  };
163
164
  type Category<ComponentName> = {
164
165
  components?: ComponentName[];
@@ -173,7 +174,7 @@ type Config<Props extends DefaultComponentProps = DefaultComponentProps, RootPro
173
174
  components: {
174
175
  [ComponentName in keyof Props]: Omit<ComponentConfig<Props[ComponentName], Props[ComponentName]>, "type">;
175
176
  };
176
- root?: Partial<ComponentConfig<DefaultRootRenderProps<RootProps>, AsFieldProps<RootProps>, RootData>>;
177
+ root?: Partial<ComponentConfig<DefaultRootRenderProps<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>>>;
177
178
  };
178
179
 
179
180
  type WithId<Props> = Props & {
@@ -189,6 +190,14 @@ type WithChildren<Props> = Props & {
189
190
  };
190
191
  type ExtractPropsFromConfig<UserConfig> = UserConfig extends Config<infer P, any, any> ? P : never;
191
192
  type ExtractRootPropsFromConfig<UserConfig> = UserConfig extends Config<any, infer P, any> ? P : never;
193
+ type UserGenerics<UserConfig extends Config = Config, UserProps extends ExtractPropsFromConfig<UserConfig> = ExtractPropsFromConfig<UserConfig>, UserRootProps extends ExtractRootPropsFromConfig<UserConfig> = ExtractRootPropsFromConfig<UserConfig>, UserData extends Data<UserProps, UserRootProps> | Data = Data<UserProps, UserRootProps>, UserAppState extends AppState<UserData> = AppState<UserData>, UserComponentData extends ComponentData = UserData["content"][0]> = {
194
+ UserConfig: UserConfig;
195
+ UserProps: UserProps;
196
+ UserRootProps: UserRootProps;
197
+ UserData: UserData;
198
+ UserAppState: UserAppState;
199
+ UserComponentData: UserComponentData;
200
+ };
192
201
 
193
202
  type PuckContext = {
194
203
  renderDropZone: React.FC<DropZoneProps>;
@@ -349,11 +358,27 @@ type Permissions = {
349
358
  } & Record<string, boolean>;
350
359
  type IframeConfig = {
351
360
  enabled?: boolean;
361
+ waitForStyles?: boolean;
352
362
  };
353
363
  type OnAction<UserData extends Data = Data> = (action: PuckAction, appState: AppState<UserData>, prevAppState: AppState<UserData>) => void;
354
364
  type Plugin = {
355
365
  overrides: Partial<Overrides>;
356
366
  };
367
+ type History<D = any> = {
368
+ state: D;
369
+ id?: string;
370
+ };
371
+ type InitialHistoryAppend<AS = Partial<AppState>> = {
372
+ histories: History<AS>[];
373
+ index?: number;
374
+ appendData?: true;
375
+ };
376
+ type InitialHistoryNoAppend<AS = Partial<AppState>> = {
377
+ histories: [History<AS>, ...History<AS>[]];
378
+ index?: number;
379
+ appendData?: false;
380
+ };
381
+ type InitialHistory<AS = Partial<AppState>> = InitialHistoryAppend<AS> | InitialHistoryNoAppend<AS>;
357
382
 
358
383
  type InsertAction = {
359
384
  type: "insert";
@@ -415,4 +440,4 @@ type PuckAction = {
415
440
  recordHistory?: boolean;
416
441
  } & (ReorderAction | InsertAction | MoveAction | ReplaceAction | RemoveAction | DuplicateAction | SetAction | SetDataAction | SetUiAction | RegisterZoneAction | UnregisterZoneAction);
417
442
 
418
- export { type AsFieldProps as $, type AppState as A, type BaseData as B, type Config as C, type Data as D, type ExtractPropsFromConfig as E, type Field as F, type ObjectField as G, type Adaptor as H, type ItemSelector as I, type ExternalFieldWithAdaptor as J, type ExternalField as K, type CustomField as L, type MappedItem as M, type NumberField as N, type OnAction as O, type PuckAction as P, type Fields as Q, type RootDataWithProps as R, type SelectField as S, type TextField as T, type UiState as U, type Viewports as V, type PuckContext as W, type DefaultRootRenderProps as X, type DefaultRootProps as Y, type WithId as Z, type WithPuckProps as _, type FieldProps as a, type WithChildren as a0, type DropZoneProps as b, type ExtractRootPropsFromConfig as c, type Permissions as d, type Plugin as e, type Overrides as f, type IframeConfig as g, type DefaultComponentProps as h, type DefaultRootFieldProps as i, type ComponentData as j, type Viewport as k, type OverrideKey as l, type FieldRenderFunctions as m, type ItemWithId as n, overrideKeys as o, type ArrayState as p, type PuckComponent as q, type ComponentConfig as r, type RootDataWithoutProps as s, type RootData as t, type ComponentDataMap as u, type Content as v, type BaseField as w, type TextareaField as x, type RadioField as y, type ArrayField as z };
443
+ export { type DefaultRootProps as $, type AppState as A, type BaseData as B, type Config as C, type Data as D, type ExtractPropsFromConfig as E, type Field as F, type RadioField as G, type History as H, type ItemSelector as I, type ArrayField as J, type ObjectField as K, type Adaptor as L, type MappedItem as M, type NumberField as N, type OnAction as O, type PuckAction as P, type ExternalFieldWithAdaptor as Q, type RootDataWithProps as R, type SelectField as S, type TextField as T, type UserGenerics as U, type Viewports as V, type ExternalField as W, type CustomField as X, type Fields as Y, type PuckContext as Z, type DefaultRootRenderProps as _, type FieldProps as a, type WithId as a0, type WithPuckProps as a1, type AsFieldProps as a2, type WithChildren as a3, type DropZoneProps as b, type UiState as c, type Permissions as d, type Plugin as e, type Overrides as f, type IframeConfig as g, type InitialHistory as h, type DefaultComponentProps as i, type DefaultRootFieldProps as j, type ComponentData as k, type ExtractRootPropsFromConfig as l, type ComponentDataMap as m, type Viewport as n, overrideKeys as o, type OverrideKey as p, type FieldRenderFunctions as q, type ItemWithId as r, type ArrayState as s, type PuckComponent as t, type ComponentConfig as u, type RootDataWithoutProps as v, type RootData as w, type Content as x, type BaseField as y, type TextareaField as z };
@@ -140,12 +140,12 @@ type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponen
140
140
  changed: Partial<Record<keyof FieldProps, boolean>>;
141
141
  fields: Fields<FieldProps>;
142
142
  lastFields: Fields<FieldProps>;
143
- lastData: DataShape;
143
+ lastData: DataShape | null;
144
144
  appState: AppState;
145
145
  }) => Promise<Fields<FieldProps>> | Fields<FieldProps>;
146
146
  resolveData?: (data: DataShape, params: {
147
147
  changed: Partial<Record<keyof FieldProps, boolean>>;
148
- lastData: DataShape;
148
+ lastData: DataShape | null;
149
149
  }) => Promise<{
150
150
  props?: Partial<FieldProps>;
151
151
  readOnly?: Partial<Record<keyof FieldProps, boolean>>;
@@ -155,10 +155,11 @@ type ComponentConfig<RenderProps extends DefaultComponentProps = DefaultComponen
155
155
  };
156
156
  resolvePermissions?: (data: DataShape, params: {
157
157
  changed: Partial<Record<keyof FieldProps, boolean>>;
158
- lastPermissions: Partial<Permissions> | undefined;
159
- initialPermissions: Partial<Permissions>;
158
+ lastPermissions: Partial<Permissions>;
159
+ permissions: Partial<Permissions>;
160
160
  appState: AppState;
161
- }) => Partial<Permissions>;
161
+ lastData: DataShape | null;
162
+ }) => Promise<Partial<Permissions>> | Partial<Permissions>;
162
163
  };
163
164
  type Category<ComponentName> = {
164
165
  components?: ComponentName[];
@@ -173,7 +174,7 @@ type Config<Props extends DefaultComponentProps = DefaultComponentProps, RootPro
173
174
  components: {
174
175
  [ComponentName in keyof Props]: Omit<ComponentConfig<Props[ComponentName], Props[ComponentName]>, "type">;
175
176
  };
176
- root?: Partial<ComponentConfig<DefaultRootRenderProps<RootProps>, AsFieldProps<RootProps>, RootData>>;
177
+ root?: Partial<ComponentConfig<DefaultRootRenderProps<RootProps>, AsFieldProps<RootProps>, RootData<AsFieldProps<RootProps>>>>;
177
178
  };
178
179
 
179
180
  type WithId<Props> = Props & {
@@ -189,6 +190,14 @@ type WithChildren<Props> = Props & {
189
190
  };
190
191
  type ExtractPropsFromConfig<UserConfig> = UserConfig extends Config<infer P, any, any> ? P : never;
191
192
  type ExtractRootPropsFromConfig<UserConfig> = UserConfig extends Config<any, infer P, any> ? P : never;
193
+ type UserGenerics<UserConfig extends Config = Config, UserProps extends ExtractPropsFromConfig<UserConfig> = ExtractPropsFromConfig<UserConfig>, UserRootProps extends ExtractRootPropsFromConfig<UserConfig> = ExtractRootPropsFromConfig<UserConfig>, UserData extends Data<UserProps, UserRootProps> | Data = Data<UserProps, UserRootProps>, UserAppState extends AppState<UserData> = AppState<UserData>, UserComponentData extends ComponentData = UserData["content"][0]> = {
194
+ UserConfig: UserConfig;
195
+ UserProps: UserProps;
196
+ UserRootProps: UserRootProps;
197
+ UserData: UserData;
198
+ UserAppState: UserAppState;
199
+ UserComponentData: UserComponentData;
200
+ };
192
201
 
193
202
  type PuckContext = {
194
203
  renderDropZone: React.FC<DropZoneProps>;
@@ -349,11 +358,27 @@ type Permissions = {
349
358
  } & Record<string, boolean>;
350
359
  type IframeConfig = {
351
360
  enabled?: boolean;
361
+ waitForStyles?: boolean;
352
362
  };
353
363
  type OnAction<UserData extends Data = Data> = (action: PuckAction, appState: AppState<UserData>, prevAppState: AppState<UserData>) => void;
354
364
  type Plugin = {
355
365
  overrides: Partial<Overrides>;
356
366
  };
367
+ type History<D = any> = {
368
+ state: D;
369
+ id?: string;
370
+ };
371
+ type InitialHistoryAppend<AS = Partial<AppState>> = {
372
+ histories: History<AS>[];
373
+ index?: number;
374
+ appendData?: true;
375
+ };
376
+ type InitialHistoryNoAppend<AS = Partial<AppState>> = {
377
+ histories: [History<AS>, ...History<AS>[]];
378
+ index?: number;
379
+ appendData?: false;
380
+ };
381
+ type InitialHistory<AS = Partial<AppState>> = InitialHistoryAppend<AS> | InitialHistoryNoAppend<AS>;
357
382
 
358
383
  type InsertAction = {
359
384
  type: "insert";
@@ -415,4 +440,4 @@ type PuckAction = {
415
440
  recordHistory?: boolean;
416
441
  } & (ReorderAction | InsertAction | MoveAction | ReplaceAction | RemoveAction | DuplicateAction | SetAction | SetDataAction | SetUiAction | RegisterZoneAction | UnregisterZoneAction);
417
442
 
418
- export { type AsFieldProps as $, type AppState as A, type BaseData as B, type Config as C, type Data as D, type ExtractPropsFromConfig as E, type Field as F, type ObjectField as G, type Adaptor as H, type ItemSelector as I, type ExternalFieldWithAdaptor as J, type ExternalField as K, type CustomField as L, type MappedItem as M, type NumberField as N, type OnAction as O, type PuckAction as P, type Fields as Q, type RootDataWithProps as R, type SelectField as S, type TextField as T, type UiState as U, type Viewports as V, type PuckContext as W, type DefaultRootRenderProps as X, type DefaultRootProps as Y, type WithId as Z, type WithPuckProps as _, type FieldProps as a, type WithChildren as a0, type DropZoneProps as b, type ExtractRootPropsFromConfig as c, type Permissions as d, type Plugin as e, type Overrides as f, type IframeConfig as g, type DefaultComponentProps as h, type DefaultRootFieldProps as i, type ComponentData as j, type Viewport as k, type OverrideKey as l, type FieldRenderFunctions as m, type ItemWithId as n, overrideKeys as o, type ArrayState as p, type PuckComponent as q, type ComponentConfig as r, type RootDataWithoutProps as s, type RootData as t, type ComponentDataMap as u, type Content as v, type BaseField as w, type TextareaField as x, type RadioField as y, type ArrayField as z };
443
+ export { type DefaultRootProps as $, type AppState as A, type BaseData as B, type Config as C, type Data as D, type ExtractPropsFromConfig as E, type Field as F, type RadioField as G, type History as H, type ItemSelector as I, type ArrayField as J, type ObjectField as K, type Adaptor as L, type MappedItem as M, type NumberField as N, type OnAction as O, type PuckAction as P, type ExternalFieldWithAdaptor as Q, type RootDataWithProps as R, type SelectField as S, type TextField as T, type UserGenerics as U, type Viewports as V, type ExternalField as W, type CustomField as X, type Fields as Y, type PuckContext as Z, type DefaultRootRenderProps as _, type FieldProps as a, type WithId as a0, type WithPuckProps as a1, type AsFieldProps as a2, type WithChildren as a3, type DropZoneProps as b, type UiState as c, type Permissions as d, type Plugin as e, type Overrides as f, type IframeConfig as g, type InitialHistory as h, type DefaultComponentProps as i, type DefaultRootFieldProps as j, type ComponentData as k, type ExtractRootPropsFromConfig as l, type ComponentDataMap as m, type Viewport as n, overrideKeys as o, type OverrideKey as p, type FieldRenderFunctions as q, type ItemWithId as r, type ArrayState as s, type PuckComponent as t, type ComponentConfig as u, type RootDataWithoutProps as v, type RootData as w, type Content as x, type BaseField as y, type TextareaField as z };
package/dist/index.css CHANGED
@@ -137,10 +137,11 @@
137
137
  /* styles.css */
138
138
 
139
139
  /* css-module:/home/runner/work/puck/puck/packages/core/components/ActionBar/styles.module.css/#css-module-data */
140
- ._ActionBarComponent_8nyey_1 {
140
+ ._ActionBar_fp58q_1 {
141
141
  display: flex;
142
142
  width: auto;
143
143
  padding: 4px;
144
+ padding-right: 0;
144
145
  border-top-left-radius: 8px;
145
146
  border-top-right-radius: 8px;
146
147
  border-radius: 8px;
@@ -150,7 +151,7 @@
150
151
  gap: 4px;
151
152
  min-height: 26px;
152
153
  }
153
- ._ActionBarComponent-actionsLabel_8nyey_15 {
154
+ ._ActionBar-actionsLabel_fp58q_16 {
154
155
  color: var(--puck-color-grey-08);
155
156
  display: flex;
156
157
  font-size: var(--puck-font-size-xxxs);
@@ -162,12 +163,13 @@
162
163
  text-overflow: ellipsis;
163
164
  white-space: nowrap;
164
165
  }
165
- ._ActionBarComponent-action_8nyey_15:first-of-type {
166
+ ._ActionBar-group_fp58q_29 {
166
167
  border-left: 0.5px solid var(--puck-color-grey-05);
167
- border-radius: 0;
168
- padding-left: 16px;
168
+ display: flex;
169
+ padding-left: 4px;
170
+ padding-right: 4px;
169
171
  }
170
- ._ActionBarComponent-action_8nyey_15 {
172
+ ._ActionBar-action_fp58q_16 {
171
173
  background: transparent;
172
174
  border: none;
173
175
  color: var(--puck-color-grey-08);
@@ -180,17 +182,17 @@
180
182
  justify-content: center;
181
183
  transition: color 50ms ease-in;
182
184
  }
183
- ._ActionBarComponent-action_8nyey_15:focus-visible {
185
+ ._ActionBar-action_fp58q_16:focus-visible {
184
186
  outline: 2px solid var(--puck-color-azure-05);
185
187
  outline-offset: -2px;
186
188
  }
187
189
  @media (hover: hover) and (pointer: fine) {
188
- ._ActionBarComponent-action_8nyey_15:hover {
190
+ ._ActionBar-action_fp58q_16:hover {
189
191
  color: var(--puck-color-azure-06);
190
192
  transition: none;
191
193
  }
192
194
  }
193
- ._ActionBarComponent-action_8nyey_15:active {
195
+ ._ActionBar-action_fp58q_16:active {
194
196
  color: var(--puck-color-azure-07);
195
197
  transition: none;
196
198
  }
@@ -599,10 +601,10 @@ textarea._Input-input_3pq3z_47 {
599
601
  }
600
602
 
601
603
  /* css-module:/home/runner/work/puck/puck/packages/core/components/ExternalInput/styles.module.css/#css-module-data */
602
- ._ExternalInput-actions_19obq_1 {
604
+ ._ExternalInput-actions_wprq3_1 {
603
605
  display: flex;
604
606
  }
605
- ._ExternalInput-button_19obq_5 {
607
+ ._ExternalInput-button_wprq3_5 {
606
608
  display: flex;
607
609
  gap: 8px;
608
610
  align-items: center;
@@ -611,7 +613,6 @@ textarea._Input-input_3pq3z_47 {
611
613
  border: 1px solid var(--puck-color-grey-09);
612
614
  border-radius: 4px;
613
615
  color: var(--puck-color-azure-04);
614
- cursor: pointer;
615
616
  padding: 12px 16px;
616
617
  font-weight: 500;
617
618
  white-space: nowrap;
@@ -621,19 +622,21 @@ textarea._Input-input_3pq3z_47 {
621
622
  overflow: hidden;
622
623
  flex-grow: 1;
623
624
  }
624
- ._ExternalInput--dataSelected_19obq_25 ._ExternalInput-button_19obq_5 {
625
+ ._ExternalInput--dataSelected_wprq3_24 ._ExternalInput-button_wprq3_5 {
625
626
  color: var(--puck-color-grey-03);
626
627
  display: block;
627
628
  border-top-right-radius: 0px;
628
629
  border-bottom-right-radius: 0px;
629
630
  }
630
- ._ExternalInput-detachButton_19obq_32 {
631
+ ._ExternalInput--readOnly_wprq3_31 ._ExternalInput-button_wprq3_5 {
632
+ background-color: var(--puck-color-grey-11);
633
+ }
634
+ ._ExternalInput-detachButton_wprq3_35 {
631
635
  border: 1px solid var(--puck-color-grey-09);
632
636
  border-top-right-radius: 4px;
633
637
  border-bottom-right-radius: 4px;
634
638
  background-color: var(--puck-color-grey-12);
635
639
  color: var(--puck-color-grey-05);
636
- cursor: pointer;
637
640
  display: flex;
638
641
  gap: 8px;
639
642
  align-items: center;
@@ -643,28 +646,28 @@ textarea._Input-input_3pq3z_47 {
643
646
  transition: background-color 50ms ease-in, color 50ms ease-in;
644
647
  margin-left: -1px;
645
648
  }
646
- ._ExternalInput-button_19obq_5:focus-visible,
647
- ._ExternalInput-detachButton_19obq_32:focus-visible {
649
+ ._ExternalInput-button_wprq3_5:focus-visible,
650
+ ._ExternalInput-detachButton_wprq3_35:focus-visible {
648
651
  outline: 2px solid var(--puck-color-azure-05);
649
652
  outline-offset: 2px;
650
653
  z-index: 1;
651
654
  }
652
655
  @media (hover: hover) and (pointer: fine) {
653
- ._ExternalInput-button_19obq_5:hover,
654
- ._ExternalInput-detachButton_19obq_32:hover {
656
+ ._ExternalInput_wprq3_1:not(._ExternalInput--readOnly_wprq3_31) ._ExternalInput-button_wprq3_5:hover,
657
+ ._ExternalInput_wprq3_1:not(._ExternalInput--readOnly_wprq3_31) ._ExternalInput-detachButton_wprq3_35:hover {
655
658
  background: var(--puck-color-azure-12);
656
659
  transition: none;
657
660
  }
658
- ._ExternalInput-detachButton_19obq_32:hover {
661
+ ._ExternalInput_wprq3_1:not(._ExternalInput--readOnly_wprq3_31) ._ExternalInput-detachButton_wprq3_35:hover {
659
662
  color: var(--puck-color-azure-04);
660
663
  }
661
664
  }
662
- ._ExternalInput-button_19obq_5:active,
663
- ._ExternalInput-detachButton_19obq_32:active {
665
+ ._ExternalInput_wprq3_1:not(._ExternalInput--readOnly_wprq3_31) ._ExternalInput-button_wprq3_5:active,
666
+ ._ExternalInput_wprq3_1:not(._ExternalInput--readOnly_wprq3_31) ._ExternalInput-detachButton_wprq3_35:active {
664
667
  background: var(--puck-color-azure-11);
665
668
  transition: none;
666
669
  }
667
- ._ExternalInputModal_19obq_74 {
670
+ ._ExternalInputModal_wprq3_79 {
668
671
  color: var(--puck-color-black);
669
672
  display: grid;
670
673
  grid-template-rows: min-content minmax(128px, 100%) min-content;
@@ -673,35 +676,35 @@ textarea._Input-input_3pq3z_47 {
673
676
  min-height: 50dvh;
674
677
  max-height: 90dvh;
675
678
  }
676
- ._ExternalInputModal-grid_19obq_84 {
679
+ ._ExternalInputModal-grid_wprq3_89 {
677
680
  display: flex;
678
681
  flex-direction: column;
679
682
  }
680
683
  @media (min-width: 458px) {
681
- ._ExternalInputModal-grid_19obq_84 {
684
+ ._ExternalInputModal-grid_wprq3_89 {
682
685
  display: grid;
683
686
  grid-template-columns: 100%;
684
687
  }
685
- ._ExternalInputModal--filtersToggled_19obq_95 ._ExternalInputModal-grid_19obq_84 {
688
+ ._ExternalInputModal--filtersToggled_wprq3_100 ._ExternalInputModal-grid_wprq3_89 {
686
689
  grid-template-columns: 25% 75%;
687
690
  }
688
691
  }
689
- ._ExternalInputModal-filters_19obq_100 {
692
+ ._ExternalInputModal-filters_wprq3_105 {
690
693
  border-bottom: 1px solid var(--puck-color-grey-09);
691
694
  }
692
- ._ExternalInputModal--filtersToggled_19obq_95 ._ExternalInputModal-filters_19obq_100 {
695
+ ._ExternalInputModal--filtersToggled_wprq3_100 ._ExternalInputModal-filters_wprq3_105 {
693
696
  display: none;
694
697
  }
695
698
  @media (min-width: 458px) {
696
- ._ExternalInputModal-filters_19obq_100 {
699
+ ._ExternalInputModal-filters_wprq3_105 {
697
700
  border-right: 1px solid var(--puck-color-grey-09);
698
701
  display: none;
699
702
  }
700
- ._ExternalInputModal--filtersToggled_19obq_95 ._ExternalInputModal-filters_19obq_100 {
703
+ ._ExternalInputModal--filtersToggled_wprq3_100 ._ExternalInputModal-filters_wprq3_105 {
701
704
  display: block;
702
705
  }
703
706
  }
704
- ._ExternalInputModal-masthead_19obq_119 {
707
+ ._ExternalInputModal-masthead_wprq3_124 {
705
708
  background-color: var(--puck-color-grey-12);
706
709
  border-bottom: 1px solid var(--puck-color-grey-09);
707
710
  display: flex;
@@ -709,13 +712,13 @@ textarea._Input-input_3pq3z_47 {
709
712
  gap: 24px;
710
713
  padding: 24px;
711
714
  }
712
- ._ExternalInputModal-tableWrapper_19obq_128 {
715
+ ._ExternalInputModal-tableWrapper_wprq3_133 {
713
716
  position: relative;
714
717
  overflow-x: auto;
715
718
  overflow-y: auto;
716
719
  flex-grow: 1;
717
720
  }
718
- ._ExternalInputModal-table_19obq_128 {
721
+ ._ExternalInputModal-table_wprq3_133 {
719
722
  border-collapse: unset;
720
723
  border-spacing: 0px;
721
724
  color: var(--puck-color-grey-02);
@@ -723,51 +726,51 @@ textarea._Input-input_3pq3z_47 {
723
726
  z-index: 0;
724
727
  min-width: 100%;
725
728
  }
726
- ._ExternalInputModal-thead_19obq_144 {
729
+ ._ExternalInputModal-thead_wprq3_149 {
727
730
  background-color: var(--puck-color-white);
728
731
  position: sticky;
729
732
  top: 0;
730
733
  z-index: 1;
731
734
  }
732
- ._ExternalInputModal-th_19obq_144 {
735
+ ._ExternalInputModal-th_wprq3_149 {
733
736
  border-bottom: 1px solid var(--puck-color-grey-09);
734
737
  color: var(--puck-color-grey-04);
735
738
  font-weight: 500;
736
739
  font-size: 14px;
737
740
  padding: 16px 24px;
738
741
  }
739
- ._ExternalInputModal-td_19obq_159 {
742
+ ._ExternalInputModal-td_wprq3_164 {
740
743
  border-bottom: 1px solid var(--puck-color-grey-10);
741
744
  padding: 16px 24px;
742
745
  }
743
- ._ExternalInputModal-tr_19obq_164 ._ExternalInputModal-td_19obq_159:first-of-type {
746
+ ._ExternalInputModal-tr_wprq3_169 ._ExternalInputModal-td_wprq3_164:first-of-type {
744
747
  font-weight: 500;
745
748
  width: 1%;
746
749
  white-space: nowrap;
747
750
  }
748
751
  @media (hover: hover) and (pointer: fine) {
749
- ._ExternalInputModal-tbody_19obq_171 ._ExternalInputModal-tr_19obq_164:hover {
752
+ ._ExternalInputModal-tbody_wprq3_176 ._ExternalInputModal-tr_wprq3_169:hover {
750
753
  background: var(--puck-color-azure-12);
751
754
  color: var(--puck-color-azure-04);
752
755
  cursor: pointer;
753
756
  position: relative;
754
757
  margin-left: -5px;
755
758
  }
756
- ._ExternalInputModal-tbody_19obq_171 ._ExternalInputModal-tr_19obq_164:hover ._ExternalInputModal-td_19obq_159:first-of-type {
759
+ ._ExternalInputModal-tbody_wprq3_176 ._ExternalInputModal-tr_wprq3_169:hover ._ExternalInputModal-td_wprq3_164:first-of-type {
757
760
  border-left: 4px solid var(--puck-color-azure-04);
758
761
  padding-left: 20px;
759
762
  }
760
763
  }
761
- ._ExternalInputModal-tbody_19obq_171 ._ExternalInputModal-tr_19obq_164:last-of-type ._ExternalInputModal-td_19obq_159 {
764
+ ._ExternalInputModal-tbody_wprq3_176 ._ExternalInputModal-tr_wprq3_169:last-of-type ._ExternalInputModal-td_wprq3_164 {
762
765
  border-bottom: none;
763
766
  }
764
- ._ExternalInputModal-tableWrapper_19obq_128 {
767
+ ._ExternalInputModal-tableWrapper_wprq3_133 {
765
768
  display: none;
766
769
  }
767
- ._ExternalInputModal--hasData_19obq_197 ._ExternalInputModal-tableWrapper_19obq_128 {
770
+ ._ExternalInputModal--hasData_wprq3_202 ._ExternalInputModal-tableWrapper_wprq3_133 {
768
771
  display: block;
769
772
  }
770
- ._ExternalInputModal-loadingBanner_19obq_201 {
773
+ ._ExternalInputModal-loadingBanner_wprq3_206 {
771
774
  display: none;
772
775
  background-color: color-mix(in srgb, var(--puck-color-white) 90%, transparent);
773
776
  padding: 64px;
@@ -779,21 +782,21 @@ textarea._Input-input_3pq3z_47 {
779
782
  right: 0;
780
783
  bottom: 0;
781
784
  }
782
- ._ExternalInputModal--isLoading_19obq_218 ._ExternalInputModal-loadingBanner_19obq_201 {
785
+ ._ExternalInputModal--isLoading_wprq3_223 ._ExternalInputModal-loadingBanner_wprq3_206 {
783
786
  display: flex;
784
787
  }
785
- ._ExternalInputModal-searchForm_19obq_222 {
788
+ ._ExternalInputModal-searchForm_wprq3_227 {
786
789
  display: flex;
787
790
  flex-wrap: wrap;
788
791
  gap: 12px;
789
792
  flex-grow: 1;
790
793
  }
791
794
  @media (min-width: 458px) {
792
- ._ExternalInputModal-searchForm_19obq_222 {
795
+ ._ExternalInputModal-searchForm_wprq3_227 {
793
796
  flex-wrap: nowrap;
794
797
  }
795
798
  }
796
- ._ExternalInputModal-search_19obq_222 {
799
+ ._ExternalInputModal-search_wprq3_227 {
797
800
  display: flex;
798
801
  background: var(--puck-color-white);
799
802
  border-width: 1px;
@@ -803,18 +806,18 @@ textarea._Input-input_3pq3z_47 {
803
806
  flex-grow: 1;
804
807
  transition: border-color 50ms ease-in;
805
808
  }
806
- ._ExternalInputModal-search_19obq_222:focus-within {
809
+ ._ExternalInputModal-search_wprq3_227:focus-within {
807
810
  border-color: var(--puck-color-grey-05);
808
811
  outline: 2px solid var(--puck-color-azure-05);
809
812
  transition: none;
810
813
  }
811
814
  @media (hover: hover) and (pointer: fine) {
812
- ._ExternalInputModal-search_19obq_222:hover {
815
+ ._ExternalInputModal-search_wprq3_227:hover {
813
816
  border-color: var(--puck-color-grey-05);
814
817
  transition: none;
815
818
  }
816
819
  }
817
- ._ExternalInputModal-searchIcon_19obq_259 {
820
+ ._ExternalInputModal-searchIcon_wprq3_264 {
818
821
  align-items: center;
819
822
  background: var(--puck-color-grey-12);
820
823
  border-bottom-left-radius: 4px;
@@ -826,17 +829,17 @@ textarea._Input-input_3pq3z_47 {
826
829
  padding: 12px 15px;
827
830
  transition: color 50ms ease-in;
828
831
  }
829
- ._ExternalInputModal-search_19obq_222:focus-within ._ExternalInputModal-searchIcon_19obq_259 {
832
+ ._ExternalInputModal-search_wprq3_227:focus-within ._ExternalInputModal-searchIcon_wprq3_264 {
830
833
  color: var(--puck-color-grey-04);
831
834
  transition: none;
832
835
  }
833
836
  @media (hover: hover) and (pointer: fine) {
834
- ._ExternalInputModal-search_19obq_222:hover ._ExternalInputModal-searchIcon_19obq_259 {
837
+ ._ExternalInputModal-search_wprq3_227:hover ._ExternalInputModal-searchIcon_wprq3_264 {
835
838
  color: var(--puck-color-grey-04);
836
839
  transition: none;
837
840
  }
838
841
  }
839
- ._ExternalInputModal-searchIconText_19obq_284 {
842
+ ._ExternalInputModal-searchIconText_wprq3_289 {
840
843
  clip: rect(0 0 0 0);
841
844
  clip-path: inset(100%);
842
845
  height: 1px;
@@ -845,7 +848,7 @@ textarea._Input-input_3pq3z_47 {
845
848
  white-space: nowrap;
846
849
  width: 1px;
847
850
  }
848
- ._ExternalInputModal-searchInput_19obq_294 {
851
+ ._ExternalInputModal-searchInput_wprq3_299 {
849
852
  border: none;
850
853
  border-radius: 4px;
851
854
  background: var(--puck-color-white);
@@ -854,24 +857,24 @@ textarea._Input-input_3pq3z_47 {
854
857
  padding: 12px 15px;
855
858
  width: 100%;
856
859
  }
857
- ._ExternalInputModal-searchInput_19obq_294:focus {
860
+ ._ExternalInputModal-searchInput_wprq3_299:focus {
858
861
  outline: 0;
859
862
  }
860
- ._ExternalInputModal-searchActions_19obq_308 {
863
+ ._ExternalInputModal-searchActions_wprq3_313 {
861
864
  display: flex;
862
865
  gap: 8px;
863
866
  height: 44px;
864
867
  width: 100%;
865
868
  }
866
869
  @media (min-width: 458px) {
867
- ._ExternalInputModal-searchActions_19obq_308 {
870
+ ._ExternalInputModal-searchActions_wprq3_313 {
868
871
  width: auto;
869
872
  }
870
873
  }
871
- ._ExternalInputModal-searchActionIcon_19obq_321 {
874
+ ._ExternalInputModal-searchActionIcon_wprq3_326 {
872
875
  align-self: center;
873
876
  }
874
- ._ExternalInputModal-footer_19obq_325 {
877
+ ._ExternalInputModal-footer_wprq3_330 {
875
878
  background-color: var(--puck-color-grey-12);
876
879
  border-top: 1px solid var(--puck-color-grey-09);
877
880
  color: var(--puck-color-grey-04);
@@ -1051,21 +1054,21 @@ textarea._Input-input_3pq3z_47 {
1051
1054
  }
1052
1055
 
1053
1056
  /* css-module:/home/runner/work/puck/puck/packages/core/components/Drawer/styles.module.css/#css-module-data */
1054
- ._Drawer_4yfqn_1 {
1057
+ ._Drawer_1oa7v_1 {
1055
1058
  font-family: var(--puck-font-family);
1056
1059
  }
1057
- ._DrawerItem--disabled_4yfqn_5 {
1060
+ ._DrawerItem--disabled_1oa7v_5 ._DrawerItem-draggable_1oa7v_5 {
1058
1061
  background: var(--puck-color-grey-11);
1059
1062
  color: var(--puck-color-grey-05);
1060
1063
  cursor: not-allowed;
1061
1064
  }
1062
- ._DrawerItem-default_4yfqn_11 ._DrawerItem-draggableWrapper_4yfqn_11 {
1065
+ ._DrawerItem-default_1oa7v_11 ._DrawerItem-draggableWrapper_1oa7v_11 {
1063
1066
  padding-bottom: 12px;
1064
1067
  }
1065
- ._DrawerItem_4yfqn_5:last-of-type ._DrawerItem-default_4yfqn_11 ._DrawerItem-draggableWrapper_4yfqn_11 {
1068
+ ._DrawerItem_1oa7v_5:last-of-type ._DrawerItem-default_1oa7v_11 ._DrawerItem-draggableWrapper_1oa7v_11 {
1066
1069
  padding-bottom: 0;
1067
1070
  }
1068
- ._DrawerItem-draggable_4yfqn_11 {
1071
+ ._DrawerItem-draggable_1oa7v_5 {
1069
1072
  background: var(--puck-color-white);
1070
1073
  padding: 12px;
1071
1074
  display: flex;
@@ -1076,22 +1079,22 @@ textarea._Input-input_3pq3z_47 {
1076
1079
  align-items: center;
1077
1080
  transition: background-color 50ms ease-in, color 50ms ease-in;
1078
1081
  }
1079
- ._DrawerItem_4yfqn_5:focus-visible {
1082
+ ._DrawerItem_1oa7v_5:focus-visible {
1080
1083
  outline: 0;
1081
1084
  }
1082
- ._Drawer_4yfqn_1:not(._Drawer--isDraggingFrom_4yfqn_36) ._DrawerItem_4yfqn_5:focus-visible ._DrawerItem-draggable_4yfqn_11 {
1085
+ ._Drawer_1oa7v_1:not(._Drawer--isDraggingFrom_1oa7v_36) ._DrawerItem_1oa7v_5:focus-visible ._DrawerItem-draggable_1oa7v_5 {
1083
1086
  border-radius: 4px;
1084
1087
  outline: 2px solid var(--puck-color-azure-05);
1085
1088
  outline-offset: 2px;
1086
1089
  }
1087
1090
  @media (hover: hover) and (pointer: fine) {
1088
- ._Drawer_4yfqn_1:not(._Drawer--isDraggingFrom_4yfqn_36) ._DrawerItem_4yfqn_5:not(._DrawerItem--disabled_4yfqn_5) ._DrawerItem-draggable_4yfqn_11:hover {
1091
+ ._Drawer_1oa7v_1:not(._Drawer--isDraggingFrom_1oa7v_36) ._DrawerItem_1oa7v_5:not(._DrawerItem--disabled_1oa7v_5) ._DrawerItem-draggable_1oa7v_5:hover {
1089
1092
  background-color: var(--puck-color-azure-12);
1090
1093
  color: var(--puck-color-azure-04);
1091
1094
  transition: none;
1092
1095
  }
1093
1096
  }
1094
- ._DrawerItem-name_4yfqn_54 {
1097
+ ._DrawerItem-name_1oa7v_54 {
1095
1098
  overflow-x: hidden;
1096
1099
  text-overflow: ellipsis;
1097
1100
  white-space: nowrap;
@@ -1732,7 +1735,7 @@ textarea._Input-input_3pq3z_47 {
1732
1735
  }
1733
1736
 
1734
1737
  /* css-module:/home/runner/work/puck/puck/packages/core/components/Puck/components/Canvas/styles.module.css/#css-module-data */
1735
- ._PuckCanvas_6zd4y_1 {
1738
+ ._PuckCanvas_esbg1_1 {
1736
1739
  background: var(--puck-color-grey-11);
1737
1740
  display: flex;
1738
1741
  grid-area: editor;
@@ -1741,15 +1744,15 @@ textarea._Input-input_3pq3z_47 {
1741
1744
  overflow: auto;
1742
1745
  }
1743
1746
  @media (min-width: 1198px) {
1744
- ._PuckCanvas_6zd4y_1 {
1747
+ ._PuckCanvas_esbg1_1 {
1745
1748
  padding: calc(var(--puck-space-px) * 1.5);
1746
1749
  padding-top: var(--puck-space-px);
1747
1750
  }
1748
- ._PuckCanvas_6zd4y_1:not(._PuckCanvas_6zd4y_1:has(._PuckCanvas-controls_6zd4y_16)) {
1751
+ ._PuckCanvas_esbg1_1:not(._PuckCanvas_esbg1_1:has(._PuckCanvas-controls_esbg1_16)) {
1749
1752
  padding-top: calc(var(--puck-space-px) * 1.5);
1750
1753
  }
1751
1754
  }
1752
- ._PuckCanvas-inner_6zd4y_21 {
1755
+ ._PuckCanvas-inner_esbg1_21 {
1753
1756
  box-sizing: border-box;
1754
1757
  display: flex;
1755
1758
  height: 100%;
@@ -1759,7 +1762,7 @@ textarea._Input-input_3pq3z_47 {
1759
1762
  position: relative;
1760
1763
  width: 100%;
1761
1764
  }
1762
- ._PuckCanvas-root_6zd4y_32 {
1765
+ ._PuckCanvas-root_esbg1_32 {
1763
1766
  background: white;
1764
1767
  border: 1px solid var(--puck-color-grey-09);
1765
1768
  box-sizing: border-box;
@@ -1771,16 +1774,32 @@ textarea._Input-input_3pq3z_47 {
1771
1774
  opacity: 0;
1772
1775
  }
1773
1776
  @media (min-width: 1198px) {
1774
- ._PuckCanvas-root_6zd4y_32 {
1777
+ ._PuckCanvas-root_esbg1_32 {
1775
1778
  min-width: unset;
1776
1779
  }
1777
1780
  }
1778
1781
  @media (prefers-reduced-motion: reduce) {
1779
- ._PuckCanvas-root_6zd4y_32 {
1782
+ ._PuckCanvas-root_esbg1_32 {
1780
1783
  transition: none !important;
1781
1784
  }
1782
1785
  }
1783
- ._PuckCanvas--ready_6zd4y_56 ._PuckCanvas-root_6zd4y_32 {
1786
+ ._PuckCanvas--ready_esbg1_56 ._PuckCanvas-root_esbg1_32 {
1784
1787
  opacity: 1;
1785
- transition: opacity 150ms ease-out;
1788
+ }
1789
+ ._PuckCanvas-loader_esbg1_60 {
1790
+ align-items: center;
1791
+ color: var(--puck-color-grey-06);
1792
+ display: flex;
1793
+ height: 100%;
1794
+ justify-content: center;
1795
+ transition: opacity 250ms ease-out;
1796
+ opacity: 0;
1797
+ }
1798
+ ._PuckCanvas--showLoader_esbg1_70 ._PuckCanvas-loader_esbg1_60 {
1799
+ opacity: 1;
1800
+ }
1801
+ ._PuckCanvas--showLoader_esbg1_70._PuckCanvas--ready_esbg1_56 ._PuckCanvas-loader_esbg1_60 {
1802
+ opacity: 0;
1803
+ height: 0;
1804
+ transition: none;
1786
1805
  }