@pnp/spfx-property-controls 3.21.0 → 3.22.0-beta.1921141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +9 -0
- package/lib/PropertyFieldBrandFontPicker.d.ts +2 -0
- package/lib/PropertyFieldBrandFontPicker.d.ts.map +1 -0
- package/lib/PropertyFieldBrandFontPicker.js +2 -0
- package/lib/PropertyFieldBrandFontPicker.js.map +1 -0
- package/lib/common/telemetry/version.d.ts.map +1 -1
- package/lib/common/telemetry/version.js +1 -1
- package/lib/common/telemetry/version.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker.d.ts +117 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker.d.ts.map +1 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker.js +2 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker.js.map +1 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPickerHost.d.ts +29 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPickerHost.d.ts.map +1 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPickerHost.js +2 -0
- package/lib/propertyFields/brandFontPicker/IPropertyFieldBrandFontPickerHost.js.map +1 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPicker.d.ts +9 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPicker.d.ts.map +1 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPicker.js +107 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPicker.js.map +1 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPickerHost.d.ts +28 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPickerHost.d.ts.map +1 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPickerHost.js +223 -0
- package/lib/propertyFields/brandFontPicker/PropertyFieldBrandFontPickerHost.js.map +1 -0
- package/lib/propertyFields/brandFontPicker/index.d.ts +6 -0
- package/lib/propertyFields/brandFontPicker/index.d.ts.map +1 -0
- package/lib/propertyFields/brandFontPicker/index.js +6 -0
- package/lib/propertyFields/brandFontPicker/index.js.map +1 -0
- package/lib/services/BrandCenterService.d.ts +46 -0
- package/lib/services/BrandCenterService.d.ts.map +1 -0
- package/lib/services/BrandCenterService.js +282 -0
- package/lib/services/BrandCenterService.js.map +1 -0
- package/package.json +2 -2
- package/release/manifests/bd19c378-ab07-4eaa-9bb6-0e329932d8bf.manifest.json +1 -1
package/CHANGELOG.json
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyFieldBrandFontPicker.d.ts","sourceRoot":"","sources":["../src/PropertyFieldBrandFontPicker.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyFieldBrandFontPicker.js","sourceRoot":"","sources":["../src/PropertyFieldBrandFontPicker.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/common/telemetry/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../../src/common/telemetry/version.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,EAAE,MAA8B,CAAC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const version = "3.
|
|
1
|
+
export const version = "3.22.0-beta.1921141";
|
|
2
2
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/common/telemetry/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAW,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../../src/common/telemetry/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAW,qBAAqB,CAAC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ export * from './PropertyFieldEnterpriseTermPicker';
|
|
|
8
8
|
export * from './PropertyFieldMultiSelect';
|
|
9
9
|
export * from './PropertyFieldNumber';
|
|
10
10
|
export * from './PropertyFieldGuid';
|
|
11
|
+
export * from './PropertyFieldBrandFontPicker';
|
|
11
12
|
export * from './PropertyFieldButtonWithCallout';
|
|
12
13
|
export * from './PropertyFieldCheckboxWithCallout';
|
|
13
14
|
export * from './PropertyFieldChoiceGroupWithCallout';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -8,6 +8,7 @@ export * from './PropertyFieldEnterpriseTermPicker';
|
|
|
8
8
|
export * from './PropertyFieldMultiSelect';
|
|
9
9
|
export * from './PropertyFieldNumber';
|
|
10
10
|
export * from './PropertyFieldGuid';
|
|
11
|
+
export * from './PropertyFieldBrandFontPicker';
|
|
11
12
|
export * from './PropertyFieldButtonWithCallout';
|
|
12
13
|
export * from './PropertyFieldCheckboxWithCallout';
|
|
13
14
|
export * from './PropertyFieldChoiceGroupWithCallout';
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAC3C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,gCAAgC,CAAC;AAE/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC;AACnD,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAChD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,cAAc,kCAAkC,CAAC;AACjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAE5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { IPropertyPaneCustomFieldProps } from '@microsoft/sp-property-pane';
|
|
2
|
+
import { BaseComponentContext } from '@microsoft/sp-component-base';
|
|
3
|
+
/**
|
|
4
|
+
* Brand font token interface
|
|
5
|
+
*/
|
|
6
|
+
export interface IBrandFontToken {
|
|
7
|
+
/**
|
|
8
|
+
* The CSS variable name (e.g., "fontFamilyBase")
|
|
9
|
+
*/
|
|
10
|
+
name: string;
|
|
11
|
+
/**
|
|
12
|
+
* The display name for the font
|
|
13
|
+
*/
|
|
14
|
+
displayName: string;
|
|
15
|
+
/**
|
|
16
|
+
* The font family value (e.g., "Segoe UI, system-ui, sans-serif")
|
|
17
|
+
*/
|
|
18
|
+
value: string;
|
|
19
|
+
/**
|
|
20
|
+
* Optional preview text
|
|
21
|
+
*/
|
|
22
|
+
preview?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Optional font file URL
|
|
25
|
+
*/
|
|
26
|
+
fileUrl?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Font source category
|
|
29
|
+
*/
|
|
30
|
+
category?: 'site' | 'organization' | 'microsoft';
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Public properties of the PropertyFieldBrandFontPicker custom field
|
|
34
|
+
*/
|
|
35
|
+
export interface IPropertyFieldBrandFontPickerProps {
|
|
36
|
+
/**
|
|
37
|
+
* Property field label displayed on top
|
|
38
|
+
*/
|
|
39
|
+
label: string;
|
|
40
|
+
/**
|
|
41
|
+
* Defines an onPropertyChange function to raise when the selected value changes.
|
|
42
|
+
* Normally this function must be defined with the 'this.onPropertyChange'
|
|
43
|
+
* method of the web part object.
|
|
44
|
+
*/
|
|
45
|
+
onPropertyChange(propertyPath: string, oldValue: any, newValue: any): void;
|
|
46
|
+
/**
|
|
47
|
+
* The initial selected font token name
|
|
48
|
+
*/
|
|
49
|
+
initialValue?: string;
|
|
50
|
+
/**
|
|
51
|
+
* Whether the property pane field is enabled or not
|
|
52
|
+
*/
|
|
53
|
+
disabled?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* The context object of the SPFx component
|
|
56
|
+
*/
|
|
57
|
+
context: BaseComponentContext;
|
|
58
|
+
/**
|
|
59
|
+
* Custom properties object
|
|
60
|
+
*/
|
|
61
|
+
properties?: any;
|
|
62
|
+
/**
|
|
63
|
+
* An unique key that indicates the identity of this control
|
|
64
|
+
*/
|
|
65
|
+
key?: string;
|
|
66
|
+
/**
|
|
67
|
+
* Whether the property pane field is visible or not
|
|
68
|
+
*/
|
|
69
|
+
isHidden?: boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Custom font tokens to use as fallback or override
|
|
72
|
+
*/
|
|
73
|
+
customFontTokens?: IBrandFontToken[];
|
|
74
|
+
/**
|
|
75
|
+
* Callback function that will be called on font tokens loaded
|
|
76
|
+
*/
|
|
77
|
+
onFontTokensLoaded?: (tokens: IBrandFontToken[]) => void;
|
|
78
|
+
/**
|
|
79
|
+
* Whether to show preview text in the dropdown
|
|
80
|
+
*/
|
|
81
|
+
showPreview?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Custom preview text to use
|
|
84
|
+
*/
|
|
85
|
+
previewText?: string;
|
|
86
|
+
/**
|
|
87
|
+
* Error message to display when font tokens cannot be loaded
|
|
88
|
+
*/
|
|
89
|
+
loadingErrorMessage?: string;
|
|
90
|
+
/**
|
|
91
|
+
* Whether to use system fonts as fallback when Brand Center is not available
|
|
92
|
+
*/
|
|
93
|
+
useSystemFallback?: boolean;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Private properties of the PropertyFieldBrandFontPicker custom field.
|
|
97
|
+
* We separate public & private properties to include onRender & onDispose method waited
|
|
98
|
+
* by the PropertyPane control without asking it from the developer
|
|
99
|
+
*/
|
|
100
|
+
export interface IPropertyFieldBrandFontPickerPropsInternal extends IPropertyPaneCustomFieldProps {
|
|
101
|
+
label: string;
|
|
102
|
+
initialValue?: string;
|
|
103
|
+
targetProperty: string;
|
|
104
|
+
context: BaseComponentContext;
|
|
105
|
+
onPropertyChange(propertyPath: string, oldValue: any, newValue: any): void;
|
|
106
|
+
properties: any;
|
|
107
|
+
disabled?: boolean;
|
|
108
|
+
key: string;
|
|
109
|
+
isHidden?: boolean;
|
|
110
|
+
customFontTokens?: IBrandFontToken[];
|
|
111
|
+
onFontTokensLoaded?: (tokens: IBrandFontToken[]) => void;
|
|
112
|
+
showPreview?: boolean;
|
|
113
|
+
previewText?: string;
|
|
114
|
+
loadingErrorMessage?: string;
|
|
115
|
+
useSystemFallback?: boolean;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=IPropertyFieldBrandFontPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPropertyFieldBrandFontPicker.d.ts","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,CAAC;CAClD;AAED;;GAEG;AACH,MAAM,WAAW,kCAAkC;IACjD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;OAIG;IACH,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAE3E;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,OAAO,EAAE,oBAAoB,CAAC;IAE9B;;OAEG;IACH,UAAU,CAAC,EAAE,GAAG,CAAC;IAEjB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IAErC;;OAEG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IAEzD;;OAEG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,0CAA2C,SAAQ,6BAA6B;IAC/F,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IAC3E,UAAU,EAAE,GAAG,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPropertyFieldBrandFontPicker.js","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { IBrandFontToken } from './IPropertyFieldBrandFontPicker';
|
|
2
|
+
import { BaseComponentContext } from '@microsoft/sp-component-base';
|
|
3
|
+
/**
|
|
4
|
+
* PropertyFieldBrandFontPickerHost properties interface
|
|
5
|
+
*/
|
|
6
|
+
export interface IPropertyFieldBrandFontPickerHostProps {
|
|
7
|
+
label: string;
|
|
8
|
+
initialValue?: string;
|
|
9
|
+
targetProperty: string;
|
|
10
|
+
context: BaseComponentContext;
|
|
11
|
+
onSelectionChanged?: (option: IBrandFontToken) => void;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
customFontTokens?: IBrandFontToken[];
|
|
14
|
+
onFontTokensLoaded?: (tokens: IBrandFontToken[]) => void;
|
|
15
|
+
showPreview?: boolean;
|
|
16
|
+
previewText?: string;
|
|
17
|
+
loadingErrorMessage?: string;
|
|
18
|
+
useSystemFallback?: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* PropertyFieldBrandFontPickerHost state interface
|
|
22
|
+
*/
|
|
23
|
+
export interface IPropertyFieldBrandFontPickerHostState {
|
|
24
|
+
loading: boolean;
|
|
25
|
+
fontTokens: IBrandFontToken[];
|
|
26
|
+
selectedToken?: IBrandFontToken;
|
|
27
|
+
errorMessage?: string;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=IPropertyFieldBrandFontPickerHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPropertyFieldBrandFontPickerHost.d.ts","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/IPropertyFieldBrandFontPickerHost.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACvD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,IAAI,CAAC;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,sCAAsC;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,eAAe,EAAE,CAAC;IAC9B,aAAa,CAAC,EAAE,eAAe,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IPropertyFieldBrandFontPickerHost.js","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/IPropertyFieldBrandFontPickerHost.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IPropertyPaneField } from '@microsoft/sp-property-pane';
|
|
2
|
+
import { IPropertyFieldBrandFontPickerProps, IPropertyFieldBrandFontPickerPropsInternal } from './IPropertyFieldBrandFontPicker';
|
|
3
|
+
/**
|
|
4
|
+
* Helper method to create a Brand Font Picker on the PropertyPane.
|
|
5
|
+
* @param targetProperty - Target property the Brand Font Picker is associated to.
|
|
6
|
+
* @param properties - Strongly typed Brand Font Picker properties.
|
|
7
|
+
*/
|
|
8
|
+
export declare function PropertyFieldBrandFontPicker(targetProperty: string, properties: IPropertyFieldBrandFontPickerProps): IPropertyPaneField<IPropertyFieldBrandFontPickerPropsInternal>;
|
|
9
|
+
//# sourceMappingURL=PropertyFieldBrandFontPicker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyFieldBrandFontPicker.d.ts","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/PropertyFieldBrandFontPicker.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,kBAAkB,EAEnB,MAAM,6BAA6B,CAAC;AAIrC,OAAO,EACL,kCAAkC,EAClC,0CAA0C,EAE3C,MAAM,iCAAiC,CAAC;AAuFzC;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,kCAAkC,GAAG,kBAAkB,CAAC,0CAA0C,CAAC,CAwBnL"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as ReactDom from 'react-dom';
|
|
3
|
+
import { PropertyPaneFieldType } from '@microsoft/sp-property-pane';
|
|
4
|
+
import { setPropertyValue } from '../../helpers/GeneralHelper';
|
|
5
|
+
import { debounce } from '../../common/util/Util';
|
|
6
|
+
import PropertyFieldBrandFontPickerHost from './PropertyFieldBrandFontPickerHost';
|
|
7
|
+
/**
|
|
8
|
+
* Represents a PropertyFieldBrandFontPicker object
|
|
9
|
+
*/
|
|
10
|
+
class PropertyFieldBrandFontPickerBuilder {
|
|
11
|
+
constructor(_targetProperty, _properties) {
|
|
12
|
+
// Properties defined by IPropertyPaneField
|
|
13
|
+
this.type = PropertyPaneFieldType.Custom;
|
|
14
|
+
this._debounce = debounce(); // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
15
|
+
this.targetProperty = _targetProperty;
|
|
16
|
+
this.properties = {
|
|
17
|
+
key: _properties.key,
|
|
18
|
+
label: _properties.label,
|
|
19
|
+
targetProperty: _targetProperty,
|
|
20
|
+
onPropertyChange: _properties.onPropertyChange,
|
|
21
|
+
initialValue: _properties.initialValue,
|
|
22
|
+
disabled: _properties.disabled,
|
|
23
|
+
isHidden: _properties.isHidden,
|
|
24
|
+
context: _properties.context,
|
|
25
|
+
properties: _properties.properties,
|
|
26
|
+
customFontTokens: _properties.customFontTokens,
|
|
27
|
+
onFontTokensLoaded: _properties.onFontTokensLoaded,
|
|
28
|
+
showPreview: _properties.showPreview,
|
|
29
|
+
previewText: _properties.previewText,
|
|
30
|
+
loadingErrorMessage: _properties.loadingErrorMessage,
|
|
31
|
+
useSystemFallback: _properties.useSystemFallback,
|
|
32
|
+
onRender: this.onRender.bind(this),
|
|
33
|
+
onDispose: this.onDispose.bind(this)
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Renders the BrandFontPicker field content
|
|
38
|
+
*/
|
|
39
|
+
onRender(elem, ctx, changeCallback) {
|
|
40
|
+
if (!this.elem) {
|
|
41
|
+
this.elem = elem;
|
|
42
|
+
}
|
|
43
|
+
this.changeCB = changeCallback;
|
|
44
|
+
const element = React.createElement(PropertyFieldBrandFontPickerHost, {
|
|
45
|
+
label: this.properties.label,
|
|
46
|
+
targetProperty: this.targetProperty,
|
|
47
|
+
context: this.properties.context,
|
|
48
|
+
initialValue: this.properties.initialValue,
|
|
49
|
+
disabled: this.properties.disabled,
|
|
50
|
+
onSelectionChanged: this.onSelectionChanged.bind(this),
|
|
51
|
+
customFontTokens: this.properties.customFontTokens,
|
|
52
|
+
onFontTokensLoaded: this.properties.onFontTokensLoaded,
|
|
53
|
+
showPreview: this.properties.showPreview,
|
|
54
|
+
previewText: this.properties.previewText,
|
|
55
|
+
loadingErrorMessage: this.properties.loadingErrorMessage,
|
|
56
|
+
useSystemFallback: this.properties.useSystemFallback
|
|
57
|
+
});
|
|
58
|
+
ReactDom.render(element, elem);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Disposes the current object
|
|
62
|
+
*/
|
|
63
|
+
onDispose(elem) {
|
|
64
|
+
ReactDom.unmountComponentAtNode(elem);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Called when the font selection has been changed
|
|
68
|
+
*/
|
|
69
|
+
onSelectionChanged(option) {
|
|
70
|
+
this._debounce(() => {
|
|
71
|
+
setPropertyValue(this.properties.properties, this.targetProperty, option.value);
|
|
72
|
+
this.properties.onPropertyChange(this.targetProperty, this.properties.initialValue, option.value);
|
|
73
|
+
if (typeof this.changeCB !== 'undefined' && this.changeCB !== null) {
|
|
74
|
+
this.changeCB(this.targetProperty, option.value);
|
|
75
|
+
}
|
|
76
|
+
}, 200);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Helper method to create a Brand Font Picker on the PropertyPane.
|
|
81
|
+
* @param targetProperty - Target property the Brand Font Picker is associated to.
|
|
82
|
+
* @param properties - Strongly typed Brand Font Picker properties.
|
|
83
|
+
*/
|
|
84
|
+
export function PropertyFieldBrandFontPicker(targetProperty, properties) {
|
|
85
|
+
// Create an internal properties object from the given properties
|
|
86
|
+
const newProperties = {
|
|
87
|
+
label: properties.label,
|
|
88
|
+
onPropertyChange: properties.onPropertyChange,
|
|
89
|
+
context: properties.context,
|
|
90
|
+
initialValue: properties.initialValue,
|
|
91
|
+
disabled: properties.disabled,
|
|
92
|
+
isHidden: properties.isHidden,
|
|
93
|
+
properties: properties.properties,
|
|
94
|
+
customFontTokens: properties.customFontTokens,
|
|
95
|
+
onFontTokensLoaded: properties.onFontTokensLoaded,
|
|
96
|
+
showPreview: properties.showPreview !== false, // Default to true
|
|
97
|
+
previewText: properties.previewText,
|
|
98
|
+
loadingErrorMessage: properties.loadingErrorMessage,
|
|
99
|
+
useSystemFallback: properties.useSystemFallback !== false, // Default to true
|
|
100
|
+
key: properties.key
|
|
101
|
+
};
|
|
102
|
+
// Safely set the property
|
|
103
|
+
setPropertyValue(newProperties.properties, targetProperty, newProperties.initialValue);
|
|
104
|
+
// Create a new instance of the PropertyFieldBrandFontPickerBuilder
|
|
105
|
+
return new PropertyFieldBrandFontPickerBuilder(targetProperty, newProperties);
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=PropertyFieldBrandFontPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyFieldBrandFontPicker.js","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/PropertyFieldBrandFontPicker.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { IPropertyFieldBrandFontPickerHostProps, IPropertyFieldBrandFontPickerHostState } from './IPropertyFieldBrandFontPickerHost';
|
|
3
|
+
/**
|
|
4
|
+
* Renders the controls for PropertyFieldBrandFontPicker component
|
|
5
|
+
*/
|
|
6
|
+
export default class PropertyFieldBrandFontPickerHost extends React.Component<IPropertyFieldBrandFontPickerHostProps, IPropertyFieldBrandFontPickerHostState> {
|
|
7
|
+
private readonly brandCenterService;
|
|
8
|
+
constructor(props: IPropertyFieldBrandFontPickerHostProps);
|
|
9
|
+
componentDidMount(): void;
|
|
10
|
+
/**
|
|
11
|
+
* Load font tokens from Brand Center or fallback
|
|
12
|
+
*/
|
|
13
|
+
private loadFontTokens;
|
|
14
|
+
/**
|
|
15
|
+
* Handle font selection change
|
|
16
|
+
*/
|
|
17
|
+
private readonly onSelectionChanged;
|
|
18
|
+
/**
|
|
19
|
+
* Custom render for dropdown option to show font preview
|
|
20
|
+
*/
|
|
21
|
+
private readonly onRenderOption;
|
|
22
|
+
/**
|
|
23
|
+
* Custom render for dropdown title to show selected font preview
|
|
24
|
+
*/
|
|
25
|
+
private readonly onRenderTitle;
|
|
26
|
+
render(): React.ReactElement<IPropertyFieldBrandFontPickerHostProps>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=PropertyFieldBrandFontPickerHost.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyFieldBrandFontPickerHost.d.ts","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/PropertyFieldBrandFontPickerHost.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EACL,sCAAsC,EACtC,sCAAsC,EACvC,MAAM,qCAAqC,CAAC;AAI7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gCAAiC,SAAQ,KAAK,CAAC,SAAS,CAAC,sCAAsC,EAAE,sCAAsC,CAAC;IAC3J,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAqB;gBAE5C,KAAK,EAAE,sCAAsC;IAclD,iBAAiB,IAAI,IAAI;IAKhC;;OAEG;YACW,cAAc;IAgD5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAWjC;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,cAAc,CAsD7B;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAuC5B;IAEK,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,sCAAsC,CAAC;CAyF5E"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
import * as React from 'react';
|
|
11
|
+
import { Dropdown, DropdownMenuItemType, Label, Spinner, SpinnerSize, MessageBar, MessageBarType } from '@fluentui/react';
|
|
12
|
+
import { BrandCenterService } from '../../services/BrandCenterService';
|
|
13
|
+
/**
|
|
14
|
+
* Renders the controls for PropertyFieldBrandFontPicker component
|
|
15
|
+
*/
|
|
16
|
+
export default class PropertyFieldBrandFontPickerHost extends React.Component {
|
|
17
|
+
constructor(props) {
|
|
18
|
+
super(props);
|
|
19
|
+
/**
|
|
20
|
+
* Handle font selection change
|
|
21
|
+
*/
|
|
22
|
+
this.onSelectionChanged = (event, option) => {
|
|
23
|
+
if (option && option.itemType !== DropdownMenuItemType.Header) {
|
|
24
|
+
const selectedToken = this.state.fontTokens.find(token => token.name === option.key);
|
|
25
|
+
if (selectedToken) {
|
|
26
|
+
this.setState({ selectedToken });
|
|
27
|
+
if (this.props.onSelectionChanged) {
|
|
28
|
+
this.props.onSelectionChanged(selectedToken);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Custom render for dropdown option to show font preview
|
|
35
|
+
*/
|
|
36
|
+
this.onRenderOption = (option) => {
|
|
37
|
+
if (!option) {
|
|
38
|
+
return React.createElement("div", null);
|
|
39
|
+
}
|
|
40
|
+
// Skip rendering for header items
|
|
41
|
+
if (option.itemType === DropdownMenuItemType.Header) {
|
|
42
|
+
return (React.createElement("div", { style: {
|
|
43
|
+
fontWeight: '600',
|
|
44
|
+
color: '#605e5c',
|
|
45
|
+
padding: '8px 12px',
|
|
46
|
+
fontSize: '12px',
|
|
47
|
+
textTransform: 'uppercase',
|
|
48
|
+
letterSpacing: '0.5px'
|
|
49
|
+
} }, option.text));
|
|
50
|
+
}
|
|
51
|
+
const fontToken = this.state.fontTokens.find(token => token.name === option.key);
|
|
52
|
+
const fontValue = (fontToken === null || fontToken === void 0 ? void 0 : fontToken.value) || '';
|
|
53
|
+
return (React.createElement("div", { style: {
|
|
54
|
+
padding: '8px 12px',
|
|
55
|
+
minHeight: '40px',
|
|
56
|
+
display: 'flex',
|
|
57
|
+
flexDirection: 'column',
|
|
58
|
+
justifyContent: 'center'
|
|
59
|
+
} },
|
|
60
|
+
React.createElement("div", { style: {
|
|
61
|
+
fontSize: '14px',
|
|
62
|
+
color: '#323130',
|
|
63
|
+
lineHeight: '20px',
|
|
64
|
+
marginBottom: this.props.showPreview ? '2px' : '0'
|
|
65
|
+
} }, option.text),
|
|
66
|
+
this.props.showPreview && (React.createElement("div", { style: {
|
|
67
|
+
fontFamily: fontValue,
|
|
68
|
+
fontSize: '12px',
|
|
69
|
+
color: '#605e5c',
|
|
70
|
+
lineHeight: '16px'
|
|
71
|
+
} }, "Sample text preview"))));
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Custom render for dropdown title to show selected font preview
|
|
75
|
+
*/
|
|
76
|
+
this.onRenderTitle = (options) => {
|
|
77
|
+
if (!options || options.length === 0) {
|
|
78
|
+
return React.createElement("div", null);
|
|
79
|
+
}
|
|
80
|
+
const option = options[0];
|
|
81
|
+
const fontToken = this.state.fontTokens.find(token => token.name === option.key);
|
|
82
|
+
const fontValue = (fontToken === null || fontToken === void 0 ? void 0 : fontToken.value) || '';
|
|
83
|
+
return (React.createElement("div", { style: {
|
|
84
|
+
display: 'flex',
|
|
85
|
+
flexDirection: 'column',
|
|
86
|
+
justifyContent: 'center',
|
|
87
|
+
height: '40px',
|
|
88
|
+
paddingLeft: '12px',
|
|
89
|
+
paddingRight: '12px'
|
|
90
|
+
} },
|
|
91
|
+
React.createElement("span", { style: {
|
|
92
|
+
color: '#323130',
|
|
93
|
+
fontSize: '14px',
|
|
94
|
+
lineHeight: '20px'
|
|
95
|
+
} }, option.text),
|
|
96
|
+
this.props.showPreview && (React.createElement("span", { style: {
|
|
97
|
+
fontFamily: fontValue,
|
|
98
|
+
fontSize: '12px',
|
|
99
|
+
color: '#605e5c',
|
|
100
|
+
lineHeight: '16px'
|
|
101
|
+
} }, "Sample text preview"))));
|
|
102
|
+
};
|
|
103
|
+
this.state = {
|
|
104
|
+
loading: true,
|
|
105
|
+
fontTokens: [],
|
|
106
|
+
selectedToken: undefined,
|
|
107
|
+
errorMessage: undefined
|
|
108
|
+
};
|
|
109
|
+
// Initialize the BrandCenterService
|
|
110
|
+
this.brandCenterService = new BrandCenterService(this.props.context);
|
|
111
|
+
}
|
|
112
|
+
componentDidMount() {
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
|
|
114
|
+
this.loadFontTokens();
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Load font tokens from Brand Center or fallback
|
|
118
|
+
*/
|
|
119
|
+
loadFontTokens() {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
this.setState({ loading: true, errorMessage: undefined });
|
|
122
|
+
try {
|
|
123
|
+
let fontTokens = [];
|
|
124
|
+
console.log('🎨 Brand Center Font Picker: Starting font token loading...');
|
|
125
|
+
// Check if custom font tokens are provided
|
|
126
|
+
if (this.props.customFontTokens && this.props.customFontTokens.length > 0) {
|
|
127
|
+
fontTokens = this.props.customFontTokens;
|
|
128
|
+
console.log('🎨 Brand Center Font Picker: Using custom font tokens:', fontTokens.length);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
// Try to load from Brand Center using the service
|
|
132
|
+
console.log('🎨 Brand Center Font Picker: Loading from Brand Center service...');
|
|
133
|
+
fontTokens = yield this.brandCenterService.getFontTokens();
|
|
134
|
+
console.log('🎨 Brand Center Font Picker: Loaded font tokens:', fontTokens.length, fontTokens);
|
|
135
|
+
}
|
|
136
|
+
// Set initial selected token
|
|
137
|
+
let selectedToken;
|
|
138
|
+
if (this.props.initialValue) {
|
|
139
|
+
selectedToken = fontTokens.find(token => token.value === this.props.initialValue);
|
|
140
|
+
}
|
|
141
|
+
this.setState({
|
|
142
|
+
loading: false,
|
|
143
|
+
fontTokens,
|
|
144
|
+
selectedToken,
|
|
145
|
+
errorMessage: undefined
|
|
146
|
+
});
|
|
147
|
+
// Notify parent component
|
|
148
|
+
if (this.props.onFontTokensLoaded) {
|
|
149
|
+
this.props.onFontTokensLoaded(fontTokens);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
catch (error) {
|
|
153
|
+
console.error('Error loading font tokens:', error);
|
|
154
|
+
const errorMessage = this.props.loadingErrorMessage || 'Failed to load font tokens';
|
|
155
|
+
this.setState({
|
|
156
|
+
loading: false,
|
|
157
|
+
fontTokens: [],
|
|
158
|
+
selectedToken: undefined,
|
|
159
|
+
errorMessage
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
render() {
|
|
165
|
+
const { label, disabled } = this.props;
|
|
166
|
+
const { loading, fontTokens, selectedToken, errorMessage } = this.state;
|
|
167
|
+
// Group font tokens by category and convert to dropdown options
|
|
168
|
+
const options = [];
|
|
169
|
+
// Group fonts by category
|
|
170
|
+
const categorizedFonts = {
|
|
171
|
+
site: fontTokens.filter(token => token.category === 'site'),
|
|
172
|
+
microsoft: fontTokens.filter(token => token.category === 'microsoft')
|
|
173
|
+
};
|
|
174
|
+
// Add "From this site" section
|
|
175
|
+
if (categorizedFonts.site.length > 0) {
|
|
176
|
+
options.push({
|
|
177
|
+
key: 'site-header',
|
|
178
|
+
text: 'From this site',
|
|
179
|
+
itemType: DropdownMenuItemType.Header
|
|
180
|
+
});
|
|
181
|
+
categorizedFonts.site.forEach(token => {
|
|
182
|
+
options.push({
|
|
183
|
+
key: token.name,
|
|
184
|
+
text: token.displayName
|
|
185
|
+
});
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
// Add "From Microsoft" section
|
|
189
|
+
if (categorizedFonts.microsoft.length > 0) {
|
|
190
|
+
options.push({
|
|
191
|
+
key: 'microsoft-header',
|
|
192
|
+
text: 'From Microsoft',
|
|
193
|
+
itemType: DropdownMenuItemType.Header
|
|
194
|
+
});
|
|
195
|
+
categorizedFonts.microsoft.forEach(token => {
|
|
196
|
+
options.push({
|
|
197
|
+
key: token.name,
|
|
198
|
+
text: token.displayName
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
const selectedKey = selectedToken ? selectedToken.name : undefined;
|
|
203
|
+
const dropdownStyles = {
|
|
204
|
+
dropdown: {
|
|
205
|
+
width: '100%'
|
|
206
|
+
},
|
|
207
|
+
title: {
|
|
208
|
+
height: '40px',
|
|
209
|
+
lineHeight: '40px'
|
|
210
|
+
},
|
|
211
|
+
callout: {
|
|
212
|
+
maxHeight: '300px'
|
|
213
|
+
}
|
|
214
|
+
};
|
|
215
|
+
return (React.createElement("div", null,
|
|
216
|
+
label && React.createElement(Label, null, label),
|
|
217
|
+
loading && (React.createElement("div", { style: { padding: '10px 0' } },
|
|
218
|
+
React.createElement(Spinner, { size: SpinnerSize.small, label: "Loading font tokens..." }))),
|
|
219
|
+
errorMessage && (React.createElement(MessageBar, { messageBarType: MessageBarType.error, style: { marginBottom: '10px' } }, errorMessage)),
|
|
220
|
+
!loading && !errorMessage && (React.createElement(Dropdown, { options: options, selectedKey: selectedKey, onChange: this.onSelectionChanged, disabled: disabled, placeholder: "Select a font...", styles: dropdownStyles, onRenderOption: this.props.showPreview ? this.onRenderOption : undefined, onRenderTitle: this.props.showPreview ? this.onRenderTitle : undefined }))));
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=PropertyFieldBrandFontPickerHost.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PropertyFieldBrandFontPickerHost.js","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/PropertyFieldBrandFontPickerHost.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,QAAQ,EAER,oBAAoB,EACpB,KAAK,EACL,OAAO,EACP,WAAW,EACX,UAAU,EACV,cAAc,EAEf,MAAM,iBAAiB,CAAC;AAMzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,gCAAiC,SAAQ,KAAK,CAAC,SAAyF;IAG3J,YAAY,KAA6C;QACvD,KAAK,CAAC,KAAK,CAAC,CAAC;QAqEf;;WAEG;QACc,uBAAkB,GAAG,CAAC,KAAsC,EAAE,MAAwB,EAAQ,EAAE;YAC/G,IAAI,MAAM,IAAI,MAAM,CAAC,QAAQ,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrF,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC;oBAEjC,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;wBAClC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC;oBAC/C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF;;WAEG;QACc,mBAAc,GAAG,CAAC,MAAwB,EAAe,EAAE;YAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,gCAAO,CAAC;YACjB,CAAC;YAED,kCAAkC;YAClC,IAAI,MAAM,CAAC,QAAQ,KAAK,oBAAoB,CAAC,MAAM,EAAE,CAAC;gBACpD,OAAO,CACL,6BAAK,KAAK,EAAE;wBACV,UAAU,EAAE,KAAK;wBACjB,KAAK,EAAE,SAAS;wBAChB,OAAO,EAAE,UAAU;wBACnB,QAAQ,EAAE,MAAM;wBAChB,aAAa,EAAE,WAAW;wBAC1B,aAAa,EAAE,OAAO;qBACvB,IACE,MAAM,CAAC,IAAI,CACR,CACP,CAAC;YACJ,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,EAAE,CAAC;YAEzC,OAAO,CACL,6BAAK,KAAK,EAAE;oBACV,OAAO,EAAE,UAAU;oBACnB,SAAS,EAAE,MAAM;oBACjB,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,cAAc,EAAE,QAAQ;iBACzB;gBACC,6BAAK,KAAK,EAAE;wBACV,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,MAAM;wBAClB,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG;qBACnD,IACE,MAAM,CAAC,IAAI,CACR;gBACL,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CACzB,6BACE,KAAK,EAAE;wBACL,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,MAAM;qBACnB,0BAGG,CACP,CACG,CACP,CAAC;QACJ,CAAC,CAAC;QAEF;;WAEG;QACc,kBAAa,GAAG,CAAC,OAA2B,EAAe,EAAE;YAC5E,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,gCAAO,CAAC;YACjB,CAAC;YAED,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,GAAG,CAAC,CAAC;YACjF,MAAM,SAAS,GAAG,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,KAAI,EAAE,CAAC;YAEzC,OAAO,CACL,6BAAK,KAAK,EAAE;oBACV,OAAO,EAAE,MAAM;oBACf,aAAa,EAAE,QAAQ;oBACvB,cAAc,EAAE,QAAQ;oBACxB,MAAM,EAAE,MAAM;oBACd,WAAW,EAAE,MAAM;oBACnB,YAAY,EAAE,MAAM;iBACrB;gBACC,8BAAM,KAAK,EAAE;wBACX,KAAK,EAAE,SAAS;wBAChB,QAAQ,EAAE,MAAM;wBAChB,UAAU,EAAE,MAAM;qBACnB,IACE,MAAM,CAAC,IAAI,CACP;gBACN,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CACzB,8BACE,KAAK,EAAE;wBACL,UAAU,EAAE,SAAS;wBACrB,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,SAAS;wBAChB,UAAU,EAAE,MAAM;qBACnB,0BAGI,CACR,CACG,CACP,CAAC;QACJ,CAAC,CAAC;QAxLA,IAAI,CAAC,KAAK,GAAG;YACX,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,EAAE;YACd,aAAa,EAAE,SAAS;YACxB,YAAY,EAAE,SAAS;SACxB,CAAC;QAEF,oCAAoC;QACpC,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvE,CAAC;IAEM,iBAAiB;QACtB,mEAAmE;QACnE,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACW,cAAc;;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC;YAE1D,IAAI,CAAC;gBACH,IAAI,UAAU,GAAsB,EAAE,CAAC;gBAEvC,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;gBAE3E,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1E,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,wDAAwD,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;gBAC3F,CAAC;qBAAM,CAAC;oBACN,kDAAkD;oBAClD,OAAO,CAAC,GAAG,CAAC,mEAAmE,CAAC,CAAC;oBACjF,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC;oBAC3D,OAAO,CAAC,GAAG,CAAC,kDAAkD,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gBACjG,CAAC;gBAED,6BAA6B;gBAC7B,IAAI,aAA0C,CAAC;gBAC/C,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;oBAC5B,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBACpF,CAAC;gBAED,IAAI,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE,KAAK;oBACd,UAAU;oBACV,aAAa;oBACb,YAAY,EAAE,SAAS;iBACxB,CAAC,CAAC;gBAEH,0BAA0B;gBAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC;oBAClC,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;gBAC5C,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;gBACnD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,4BAA4B,CAAC;gBACpF,IAAI,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,EAAE;oBACd,aAAa,EAAE,SAAS;oBACxB,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KAAA;IAyHM,MAAM;QACX,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAExE,gEAAgE;QAChE,MAAM,OAAO,GAAsB,EAAE,CAAC;QAEtC,0BAA0B;QAC1B,MAAM,gBAAgB,GAAG;YACvB,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC;YAC3D,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,KAAK,WAAW,CAAC;SACtE,CAAC;QAEF,+BAA+B;QAC/B,IAAI,gBAAgB,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,aAAa;gBAClB,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,oBAAoB,CAAC,MAAM;aACtC,CAAC,CAAC;YACH,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACpC,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,KAAK,CAAC,IAAI;oBACf,IAAI,EAAE,KAAK,CAAC,WAAW;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,+BAA+B;QAC/B,IAAI,gBAAgB,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,IAAI,CAAC;gBACX,GAAG,EAAE,kBAAkB;gBACvB,IAAI,EAAE,gBAAgB;gBACtB,QAAQ,EAAE,oBAAoB,CAAC,MAAM;aACtC,CAAC,CAAC;YACH,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,GAAG,EAAE,KAAK,CAAC,IAAI;oBACf,IAAI,EAAE,KAAK,CAAC,WAAW;iBACxB,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,MAAM,cAAc,GAA6B;YAC/C,QAAQ,EAAE;gBACR,KAAK,EAAE,MAAM;aACd;YACD,KAAK,EAAE;gBACL,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,MAAM;aACnB;YACD,OAAO,EAAE;gBACP,SAAS,EAAE,OAAO;aACnB;SACF,CAAC;QAEF,OAAO,CACL;YACG,KAAK,IAAI,oBAAC,KAAK,QAAE,KAAK,CAAS;YAE/B,OAAO,IAAI,CACV,6BAAK,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;gBAC/B,oBAAC,OAAO,IAAC,IAAI,EAAE,WAAW,CAAC,KAAK,EAAE,KAAK,EAAC,wBAAwB,GAAG,CAC/D,CACP;YAEA,YAAY,IAAI,CACf,oBAAC,UAAU,IAAC,cAAc,EAAE,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,IAC9E,YAAY,CACF,CACd;YAEA,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAC5B,oBAAC,QAAQ,IACP,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAC,kBAAkB,EAC9B,MAAM,EAAE,cAAc,EACtB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACxE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,GACtE,CACH,CACG,CACP,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './PropertyFieldBrandFontPicker';
|
|
2
|
+
export * from './IPropertyFieldBrandFontPicker';
|
|
3
|
+
export * from './PropertyFieldBrandFontPickerHost';
|
|
4
|
+
export * from './IPropertyFieldBrandFontPickerHost';
|
|
5
|
+
export * from '../../services/BrandCenterService';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './PropertyFieldBrandFontPicker';
|
|
2
|
+
export * from './IPropertyFieldBrandFontPicker';
|
|
3
|
+
export * from './PropertyFieldBrandFontPickerHost';
|
|
4
|
+
export * from './IPropertyFieldBrandFontPickerHost';
|
|
5
|
+
export * from '../../services/BrandCenterService';
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/propertyFields/brandFontPicker/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,oCAAoC,CAAC;AACnD,cAAc,qCAAqC,CAAC;AACpD,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { BaseComponentContext } from '@microsoft/sp-component-base';
|
|
2
|
+
import { IBrandFontToken } from '../propertyFields/brandFontPicker/IPropertyFieldBrandFontPicker';
|
|
3
|
+
/**
|
|
4
|
+
* Service to interact with SharePoint Brand Center for font tokens
|
|
5
|
+
*/
|
|
6
|
+
export declare class BrandCenterService {
|
|
7
|
+
private readonly context;
|
|
8
|
+
constructor(context: BaseComponentContext);
|
|
9
|
+
/**
|
|
10
|
+
* Get font tokens from SharePoint Brand Center
|
|
11
|
+
*/
|
|
12
|
+
getFontTokens(): Promise<IBrandFontToken[]>;
|
|
13
|
+
/**
|
|
14
|
+
* Get system font tokens as fallback
|
|
15
|
+
*/
|
|
16
|
+
private getSystemFontTokens;
|
|
17
|
+
/**
|
|
18
|
+
* Try to get font tokens using SharePoint Brand Center REST API
|
|
19
|
+
*/
|
|
20
|
+
private getFontTokensFromRest;
|
|
21
|
+
/**
|
|
22
|
+
* Fetch site font packages from SharePoint API
|
|
23
|
+
*/
|
|
24
|
+
private fetchSiteFontPackages;
|
|
25
|
+
/**
|
|
26
|
+
* Parse the site font packages response
|
|
27
|
+
*/
|
|
28
|
+
private parseSiteFontPackagesResponse;
|
|
29
|
+
/**
|
|
30
|
+
* Process JSON response containing font packages
|
|
31
|
+
*/
|
|
32
|
+
private processJsonFontPackagesResponse;
|
|
33
|
+
/**
|
|
34
|
+
* Process Atom XML response containing font packages
|
|
35
|
+
*/
|
|
36
|
+
private processAtomXmlFontPackagesResponse;
|
|
37
|
+
/**
|
|
38
|
+
* Parse an Atom entry element to extract font package data
|
|
39
|
+
*/
|
|
40
|
+
private parseAtomEntry;
|
|
41
|
+
/**
|
|
42
|
+
* Process a site font package and extract font tokens
|
|
43
|
+
*/
|
|
44
|
+
private processSiteFontPackage;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=BrandCenterService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrandCenterService.d.ts","sourceRoot":"","sources":["../../src/services/BrandCenterService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,iEAAiE,CAAC;AAElG;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;gBAEnC,OAAO,EAAE,oBAAoB;IAIzC;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAYxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;YACW,qBAAqB;IAanC;;OAEG;YACW,qBAAqB;IA0BnC;;OAEG;YACW,6BAA6B;IAmB3C;;OAEG;YACW,+BAA+B;IAkB7C;;OAEG;YACW,kCAAkC;IAqChD;;OAEG;IACH,OAAO,CAAC,cAAc;IA8BtB;;OAEG;YACW,sBAAsB;CA0ErC"}
|
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Service to interact with SharePoint Brand Center for font tokens
|
|
12
|
+
*/
|
|
13
|
+
export class BrandCenterService {
|
|
14
|
+
constructor(context) {
|
|
15
|
+
this.context = context;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Get font tokens from SharePoint Brand Center
|
|
19
|
+
*/
|
|
20
|
+
getFontTokens() {
|
|
21
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
+
const siteFontTokens = yield this.getFontTokensFromRest();
|
|
23
|
+
const systemTokens = this.getSystemFontTokens();
|
|
24
|
+
// Combine all font tokens with categories
|
|
25
|
+
const allTokens = [...siteFontTokens, ...systemTokens];
|
|
26
|
+
return allTokens;
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Get system font tokens as fallback
|
|
31
|
+
*/
|
|
32
|
+
getSystemFontTokens() {
|
|
33
|
+
return [
|
|
34
|
+
{
|
|
35
|
+
name: 'fontFamilyBase',
|
|
36
|
+
displayName: 'Base Font',
|
|
37
|
+
value: 'var(--fontFamilyBase, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif)',
|
|
38
|
+
preview: 'The quick brown fox jumps over the lazy dog',
|
|
39
|
+
category: 'microsoft'
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
name: 'fontFamilyMonospace',
|
|
43
|
+
displayName: 'Monospace Font',
|
|
44
|
+
value: 'var(--fontFamilyMonospace, Consolas, "Courier New", Courier, monospace)',
|
|
45
|
+
preview: 'The quick brown fox jumps over the lazy dog',
|
|
46
|
+
category: 'microsoft'
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
name: 'fontFamilyNumeric',
|
|
50
|
+
displayName: 'Numeric Font',
|
|
51
|
+
value: 'var(--fontFamilyNumeric, Bahnschrift, "Segoe UI", "Segoe UI Web (West European)", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", sans-serif)',
|
|
52
|
+
preview: '0123456789',
|
|
53
|
+
category: 'microsoft'
|
|
54
|
+
}
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Try to get font tokens using SharePoint Brand Center REST API
|
|
59
|
+
*/
|
|
60
|
+
getFontTokensFromRest() {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
try {
|
|
63
|
+
const spHttpClient = this.context.spHttpClient;
|
|
64
|
+
const currentWebUrl = this.context.pageContext.web.absoluteUrl;
|
|
65
|
+
return yield this.fetchSiteFontPackages(spHttpClient, currentWebUrl);
|
|
66
|
+
}
|
|
67
|
+
catch (error) {
|
|
68
|
+
console.debug('SharePoint Brand Center REST API access not available:', error);
|
|
69
|
+
}
|
|
70
|
+
return [];
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Fetch site font packages from SharePoint API
|
|
75
|
+
*/
|
|
76
|
+
fetchSiteFontPackages(spHttpClient, currentWebUrl) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
78
|
+
const tokens = [];
|
|
79
|
+
try {
|
|
80
|
+
const siteFontPackagesResponse = yield spHttpClient.get(`${currentWebUrl}/_api/SiteFontPackages`, {
|
|
81
|
+
headers: {
|
|
82
|
+
'Accept': 'application/json;odata=verbose',
|
|
83
|
+
'Content-Type': 'application/json;odata=verbose'
|
|
84
|
+
}
|
|
85
|
+
} // eslint-disable-line @typescript-eslint/no-explicit-any
|
|
86
|
+
);
|
|
87
|
+
if (siteFontPackagesResponse.ok) {
|
|
88
|
+
return yield this.parseSiteFontPackagesResponse(siteFontPackagesResponse, currentWebUrl);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
console.debug(`Site font packages API returned ${siteFontPackagesResponse.status}: ${siteFontPackagesResponse.statusText}`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch (siteFontPackagesError) {
|
|
95
|
+
console.debug('Site font packages not available:', siteFontPackagesError);
|
|
96
|
+
}
|
|
97
|
+
return tokens;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Parse the site font packages response
|
|
102
|
+
*/
|
|
103
|
+
parseSiteFontPackagesResponse(response, currentWebUrl) {
|
|
104
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
105
|
+
const contentType = response.headers.get('content-type');
|
|
106
|
+
// Check if the response is JSON
|
|
107
|
+
if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json')) {
|
|
108
|
+
return yield this.processJsonFontPackagesResponse(response, currentWebUrl);
|
|
109
|
+
}
|
|
110
|
+
// Check if the response is Atom XML feed
|
|
111
|
+
else if (contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/atom+xml')) {
|
|
112
|
+
return yield this.processAtomXmlFontPackagesResponse(response, currentWebUrl);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
// Response is not JSON or Atom XML, likely an error response
|
|
116
|
+
const responseText = yield response.text();
|
|
117
|
+
console.debug('Site font packages returned unexpected response:', responseText.substring(0, 200));
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Process JSON response containing font packages
|
|
124
|
+
*/
|
|
125
|
+
processJsonFontPackagesResponse(response, currentWebUrl) {
|
|
126
|
+
var _a;
|
|
127
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
128
|
+
const tokens = [];
|
|
129
|
+
const siteFontPackagesData = yield response.json();
|
|
130
|
+
if ((_a = siteFontPackagesData === null || siteFontPackagesData === void 0 ? void 0 : siteFontPackagesData.d) === null || _a === void 0 ? void 0 : _a.results) {
|
|
131
|
+
for (const fontPackage of siteFontPackagesData.d.results) {
|
|
132
|
+
if (fontPackage.ID && !fontPackage.IsHidden && fontPackage.IsValid) {
|
|
133
|
+
const fontTokens = yield this.processSiteFontPackage(fontPackage, currentWebUrl);
|
|
134
|
+
if (fontTokens.length > 0) {
|
|
135
|
+
tokens.push(...fontTokens);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return tokens;
|
|
141
|
+
});
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Process Atom XML response containing font packages
|
|
145
|
+
*/
|
|
146
|
+
processAtomXmlFontPackagesResponse(response, currentWebUrl) {
|
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
const tokens = [];
|
|
149
|
+
try {
|
|
150
|
+
const xmlText = yield response.text();
|
|
151
|
+
// Parse the Atom XML feed - look for entry elements
|
|
152
|
+
const parser = new DOMParser();
|
|
153
|
+
const xmlDoc = parser.parseFromString(xmlText, 'text/xml');
|
|
154
|
+
// Check for parsing errors
|
|
155
|
+
const parserErrors = xmlDoc.getElementsByTagName('parsererror');
|
|
156
|
+
if (parserErrors.length > 0) {
|
|
157
|
+
console.debug('XML parsing error:', parserErrors[0].textContent);
|
|
158
|
+
return tokens;
|
|
159
|
+
}
|
|
160
|
+
// Look for entry elements in the Atom feed
|
|
161
|
+
const entries = xmlDoc.getElementsByTagName('entry');
|
|
162
|
+
for (const entry of Array.from(entries)) {
|
|
163
|
+
const fontPackage = this.parseAtomEntry(entry);
|
|
164
|
+
if ((fontPackage === null || fontPackage === void 0 ? void 0 : fontPackage.ID) && !fontPackage.IsHidden && fontPackage.IsValid) {
|
|
165
|
+
const fontTokens = yield this.processSiteFontPackage(fontPackage, currentWebUrl);
|
|
166
|
+
if (fontTokens.length > 0) {
|
|
167
|
+
tokens.push(...fontTokens);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
catch (xmlParseError) {
|
|
173
|
+
console.debug('Could not parse Atom XML response:', xmlParseError);
|
|
174
|
+
}
|
|
175
|
+
return tokens;
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Parse an Atom entry element to extract font package data
|
|
180
|
+
*/
|
|
181
|
+
parseAtomEntry(entry) {
|
|
182
|
+
try {
|
|
183
|
+
const properties = entry.getElementsByTagName('m:properties')[0];
|
|
184
|
+
if (!properties) {
|
|
185
|
+
return null;
|
|
186
|
+
}
|
|
187
|
+
const getValue = (tagName) => {
|
|
188
|
+
const element = properties.getElementsByTagName(tagName)[0];
|
|
189
|
+
return (element === null || element === void 0 ? void 0 : element.textContent) || null;
|
|
190
|
+
};
|
|
191
|
+
const getBoolValue = (tagName) => {
|
|
192
|
+
const value = getValue(tagName);
|
|
193
|
+
return value === 'true';
|
|
194
|
+
};
|
|
195
|
+
return {
|
|
196
|
+
ID: getValue('d:ID'),
|
|
197
|
+
Title: getValue('d:Title'),
|
|
198
|
+
IsHidden: getBoolValue('d:IsHidden'),
|
|
199
|
+
IsValid: getBoolValue('d:IsValid'),
|
|
200
|
+
PackageJson: getValue('d:PackageJson')
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
catch (parseError) {
|
|
204
|
+
console.debug('Could not parse Atom entry:', parseError);
|
|
205
|
+
return null;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Process a site font package and extract font tokens
|
|
210
|
+
*/
|
|
211
|
+
processSiteFontPackage(fontPackage, webUrl) {
|
|
212
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
+
const tokens = [];
|
|
214
|
+
try {
|
|
215
|
+
// Parse the PackageJson to get font information
|
|
216
|
+
if (fontPackage.PackageJson) {
|
|
217
|
+
const packageData = JSON.parse(fontPackage.PackageJson);
|
|
218
|
+
// Create a single token for the entire font package
|
|
219
|
+
const packageTitle = fontPackage.Title; // Use the title as is
|
|
220
|
+
// Determine the primary font value to use for the package
|
|
221
|
+
let primaryFontValue = `"${packageTitle}", sans-serif`;
|
|
222
|
+
// Try to get the primary font from font slots or faces
|
|
223
|
+
if (packageData.fontSlots) {
|
|
224
|
+
// Prefer body font, then heading, then title, then label
|
|
225
|
+
const preferenceOrder = ['body', 'heading', 'title', 'label'];
|
|
226
|
+
for (const slotName of preferenceOrder) {
|
|
227
|
+
const slot = packageData.fontSlots[slotName];
|
|
228
|
+
if (slot === null || slot === void 0 ? void 0 : slot.fontFamily) {
|
|
229
|
+
primaryFontValue = `"${slot.fontFamily}", sans-serif`;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
else if (packageData.fontFaces && Array.isArray(packageData.fontFaces) && packageData.fontFaces.length > 0) {
|
|
235
|
+
// Use the first font face if no slots are available
|
|
236
|
+
const firstFontFace = packageData.fontFaces[0];
|
|
237
|
+
if (firstFontFace === null || firstFontFace === void 0 ? void 0 : firstFontFace.fontFamily) {
|
|
238
|
+
primaryFontValue = `"${firstFontFace.fontFamily}", sans-serif`;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// Create a single token for this font package
|
|
242
|
+
tokens.push({
|
|
243
|
+
name: `siteFontPackage${fontPackage.ID.replace(/[^a-zA-Z0-9]/g, '')}`,
|
|
244
|
+
displayName: packageTitle,
|
|
245
|
+
value: primaryFontValue,
|
|
246
|
+
preview: 'The quick brown fox jumps over the lazy dog',
|
|
247
|
+
fileUrl: `${webUrl}/_api/SiteFontPackages/GetById('${fontPackage.ID}')`,
|
|
248
|
+
category: 'site'
|
|
249
|
+
});
|
|
250
|
+
// If no specific fonts found, create a general token from the package title
|
|
251
|
+
if (tokens.length === 0 && fontPackage.Title) {
|
|
252
|
+
tokens.push({
|
|
253
|
+
name: `siteFontPackage${fontPackage.ID.replace(/[^a-zA-Z0-9]/g, '')}`,
|
|
254
|
+
displayName: `Brand Font: ${packageTitle}`,
|
|
255
|
+
value: `"${packageTitle}", sans-serif`,
|
|
256
|
+
preview: 'The quick brown fox jumps over the lazy dog',
|
|
257
|
+
fileUrl: `${webUrl}/_api/SiteFontPackages/GetById('${fontPackage.ID}')`,
|
|
258
|
+
category: 'site'
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
catch (parseError) {
|
|
264
|
+
console.debug(`Could not parse font package ${fontPackage.ID}:`, parseError);
|
|
265
|
+
// Fallback: create token from title if JSON parsing fails
|
|
266
|
+
if (fontPackage.Title) {
|
|
267
|
+
const packageTitle = fontPackage.Title; // Use the title as is
|
|
268
|
+
tokens.push({
|
|
269
|
+
name: `siteFontPackage${fontPackage.ID.replace(/[^a-zA-Z0-9]/g, '')}`,
|
|
270
|
+
displayName: `Brand Font: ${packageTitle}`,
|
|
271
|
+
value: `"${packageTitle}", sans-serif`,
|
|
272
|
+
preview: 'The quick brown fox jumps over the lazy dog',
|
|
273
|
+
fileUrl: `${webUrl}/_api/SiteFontPackages/GetById('${fontPackage.ID}')`,
|
|
274
|
+
category: 'site'
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
return tokens;
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=BrandCenterService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BrandCenterService.js","sourceRoot":"","sources":["../../src/services/BrandCenterService.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pnp/spfx-property-controls",
|
|
3
3
|
"description": "Reusable property pane controls for SharePoint Framework solutions",
|
|
4
|
-
"version": "3.
|
|
4
|
+
"version": "3.22.0-beta.1921141",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.14.0 < 23.0.0"
|
|
7
7
|
},
|
|
@@ -94,4 +94,4 @@
|
|
|
94
94
|
"main": "lib/index.js",
|
|
95
95
|
"maintainers": [],
|
|
96
96
|
"contributors": []
|
|
97
|
-
}
|
|
97
|
+
}
|