@itwin/components-react 5.3.1 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/CHANGELOG.md +356 -13
  2. package/lib/components-react/UiComponents.js +1 -1
  3. package/lib/components-react/UiComponents.js.map +1 -1
  4. package/lib/components-react/common/DisposePolyfill.d.ts +5 -0
  5. package/lib/components-react/common/DisposePolyfill.d.ts.map +1 -0
  6. package/lib/components-react/common/DisposePolyfill.js +14 -0
  7. package/lib/components-react/common/DisposePolyfill.js.map +1 -0
  8. package/lib/components-react/common/ImageRenderer.js +1 -1
  9. package/lib/components-react/common/ImageRenderer.js.map +1 -1
  10. package/lib/components-react/converters/PointTypeConverter.d.ts.map +1 -1
  11. package/lib/components-react/converters/PointTypeConverter.js +1 -0
  12. package/lib/components-react/converters/PointTypeConverter.js.map +1 -1
  13. package/lib/components-react/editors/CustomNumberEditor.d.ts +1 -1
  14. package/lib/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
  15. package/lib/components-react/editors/CustomNumberEditor.js +5 -0
  16. package/lib/components-react/editors/CustomNumberEditor.js.map +1 -1
  17. package/lib/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
  18. package/lib/components-react/filter-builder/FilterBuilderRule.js +2 -5
  19. package/lib/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
  20. package/lib/components-react/filter-builder/FilterBuilderRuleValue.d.ts +6 -0
  21. package/lib/components-react/filter-builder/FilterBuilderRuleValue.d.ts.map +1 -1
  22. package/lib/components-react/filter-builder/FilterBuilderRuleValue.js +3 -2
  23. package/lib/components-react/filter-builder/FilterBuilderRuleValue.js.map +1 -1
  24. package/lib/components-react/new-editors/EditorRenderer.d.ts +19 -0
  25. package/lib/components-react/new-editors/EditorRenderer.d.ts.map +1 -0
  26. package/lib/components-react/new-editors/EditorRenderer.js +25 -0
  27. package/lib/components-react/new-editors/EditorRenderer.js.map +1 -0
  28. package/lib/components-react/new-editors/Types.d.ts +46 -0
  29. package/lib/components-react/new-editors/Types.d.ts.map +1 -0
  30. package/lib/components-react/new-editors/Types.js +20 -0
  31. package/lib/components-react/new-editors/Types.js.map +1 -0
  32. package/lib/components-react/new-editors/UseCommittableValue.d.ts +51 -0
  33. package/lib/components-react/new-editors/UseCommittableValue.d.ts.map +1 -0
  34. package/lib/components-react/new-editors/UseCommittableValue.js +85 -0
  35. package/lib/components-react/new-editors/UseCommittableValue.js.map +1 -0
  36. package/lib/components-react/new-editors/editors/BooleanEditor.d.ts +10 -0
  37. package/lib/components-react/new-editors/editors/BooleanEditor.d.ts.map +1 -0
  38. package/lib/components-react/new-editors/editors/BooleanEditor.js +22 -0
  39. package/lib/components-react/new-editors/editors/BooleanEditor.js.map +1 -0
  40. package/lib/components-react/new-editors/editors/DateEditor.d.ts +10 -0
  41. package/lib/components-react/new-editors/editors/DateEditor.d.ts.map +1 -0
  42. package/lib/components-react/new-editors/editors/DateEditor.js +18 -0
  43. package/lib/components-react/new-editors/editors/DateEditor.js.map +1 -0
  44. package/lib/components-react/new-editors/editors/DateInput.d.ts +15 -0
  45. package/lib/components-react/new-editors/editors/DateInput.d.ts.map +1 -0
  46. package/lib/components-react/new-editors/editors/DateInput.js +23 -0
  47. package/lib/components-react/new-editors/editors/DateInput.js.map +1 -0
  48. package/lib/components-react/new-editors/editors/DateTimeEditor.d.ts +10 -0
  49. package/lib/components-react/new-editors/editors/DateTimeEditor.d.ts.map +1 -0
  50. package/lib/components-react/new-editors/editors/DateTimeEditor.js +18 -0
  51. package/lib/components-react/new-editors/editors/DateTimeEditor.js.map +1 -0
  52. package/lib/components-react/new-editors/editors/EnumEditor.d.ts +10 -0
  53. package/lib/components-react/new-editors/editors/EnumEditor.d.ts.map +1 -0
  54. package/lib/components-react/new-editors/editors/EnumEditor.js +30 -0
  55. package/lib/components-react/new-editors/editors/EnumEditor.js.map +1 -0
  56. package/lib/components-react/new-editors/editors/FallbackEditor.d.ts +8 -0
  57. package/lib/components-react/new-editors/editors/FallbackEditor.d.ts.map +1 -0
  58. package/lib/components-react/new-editors/editors/FallbackEditor.js +41 -0
  59. package/lib/components-react/new-editors/editors/FallbackEditor.js.map +1 -0
  60. package/lib/components-react/new-editors/editors/FormattedNumericInput.d.ts +24 -0
  61. package/lib/components-react/new-editors/editors/FormattedNumericInput.d.ts.map +1 -0
  62. package/lib/components-react/new-editors/editors/FormattedNumericInput.js +77 -0
  63. package/lib/components-react/new-editors/editors/FormattedNumericInput.js.map +1 -0
  64. package/lib/components-react/new-editors/editors/NumericEditor.d.ts +10 -0
  65. package/lib/components-react/new-editors/editors/NumericEditor.d.ts.map +1 -0
  66. package/lib/components-react/new-editors/editors/NumericEditor.js +28 -0
  67. package/lib/components-react/new-editors/editors/NumericEditor.js.map +1 -0
  68. package/lib/components-react/new-editors/editors/TextEditor.d.ts +10 -0
  69. package/lib/components-react/new-editors/editors/TextEditor.d.ts.map +1 -0
  70. package/lib/components-react/new-editors/editors/TextEditor.js +17 -0
  71. package/lib/components-react/new-editors/editors/TextEditor.js.map +1 -0
  72. package/lib/components-react/new-editors/editors/ToggleEditor.d.ts +10 -0
  73. package/lib/components-react/new-editors/editors/ToggleEditor.d.ts.map +1 -0
  74. package/lib/components-react/new-editors/editors/ToggleEditor.js +22 -0
  75. package/lib/components-react/new-editors/editors/ToggleEditor.js.map +1 -0
  76. package/lib/components-react/new-editors/editors-registry/DefaultEditors.d.ts +50 -0
  77. package/lib/components-react/new-editors/editors-registry/DefaultEditors.d.ts.map +1 -0
  78. package/lib/components-react/new-editors/editors-registry/DefaultEditors.js +117 -0
  79. package/lib/components-react/new-editors/editors-registry/DefaultEditors.js.map +1 -0
  80. package/lib/components-react/new-editors/editors-registry/EditorsRegistryContext.d.ts +12 -0
  81. package/lib/components-react/new-editors/editors-registry/EditorsRegistryContext.d.ts.map +1 -0
  82. package/lib/components-react/new-editors/editors-registry/EditorsRegistryContext.js +14 -0
  83. package/lib/components-react/new-editors/editors-registry/EditorsRegistryContext.js.map +1 -0
  84. package/lib/components-react/new-editors/editors-registry/EditorsRegistryProvider.d.ts +15 -0
  85. package/lib/components-react/new-editors/editors-registry/EditorsRegistryProvider.d.ts.map +1 -0
  86. package/lib/components-react/new-editors/editors-registry/EditorsRegistryProvider.js +25 -0
  87. package/lib/components-react/new-editors/editors-registry/EditorsRegistryProvider.js.map +1 -0
  88. package/lib/components-react/new-editors/editors-registry/UseEditor.d.ts +16 -0
  89. package/lib/components-react/new-editors/editors-registry/UseEditor.d.ts.map +1 -0
  90. package/lib/components-react/new-editors/editors-registry/UseEditor.js +36 -0
  91. package/lib/components-react/new-editors/editors-registry/UseEditor.js.map +1 -0
  92. package/lib/components-react/new-editors/interop/EditorInterop.d.ts +17 -0
  93. package/lib/components-react/new-editors/interop/EditorInterop.d.ts.map +1 -0
  94. package/lib/components-react/new-editors/interop/EditorInterop.js +146 -0
  95. package/lib/components-react/new-editors/interop/EditorInterop.js.map +1 -0
  96. package/lib/components-react/new-editors/interop/IconsRegistry.d.ts +6 -0
  97. package/lib/components-react/new-editors/interop/IconsRegistry.d.ts.map +1 -0
  98. package/lib/components-react/new-editors/interop/IconsRegistry.js +41 -0
  99. package/lib/components-react/new-editors/interop/IconsRegistry.js.map +1 -0
  100. package/lib/components-react/new-editors/interop/Metadata.d.ts +21 -0
  101. package/lib/components-react/new-editors/interop/Metadata.d.ts.map +1 -0
  102. package/lib/components-react/new-editors/interop/Metadata.js +13 -0
  103. package/lib/components-react/new-editors/interop/Metadata.js.map +1 -0
  104. package/lib/components-react/new-editors/interop/PropertyRecordEditor.d.ts +22 -0
  105. package/lib/components-react/new-editors/interop/PropertyRecordEditor.d.ts.map +1 -0
  106. package/lib/components-react/new-editors/interop/PropertyRecordEditor.js +41 -0
  107. package/lib/components-react/new-editors/interop/PropertyRecordEditor.js.map +1 -0
  108. package/lib/components-react/new-editors/interop/old-editors/Color.d.ts +7 -0
  109. package/lib/components-react/new-editors/interop/old-editors/Color.d.ts.map +1 -0
  110. package/lib/components-react/new-editors/interop/old-editors/Color.js +48 -0
  111. package/lib/components-react/new-editors/interop/old-editors/Color.js.map +1 -0
  112. package/lib/components-react/new-editors/interop/old-editors/CustomNumber.d.ts +3 -0
  113. package/lib/components-react/new-editors/interop/old-editors/CustomNumber.d.ts.map +1 -0
  114. package/lib/components-react/new-editors/interop/old-editors/CustomNumber.js +59 -0
  115. package/lib/components-react/new-editors/interop/old-editors/CustomNumber.js.map +1 -0
  116. package/lib/components-react/new-editors/interop/old-editors/Enum.d.ts +4 -0
  117. package/lib/components-react/new-editors/interop/old-editors/Enum.d.ts.map +1 -0
  118. package/lib/components-react/new-editors/interop/old-editors/Enum.js +23 -0
  119. package/lib/components-react/new-editors/interop/old-editors/Enum.js.map +1 -0
  120. package/lib/components-react/new-editors/interop/old-editors/EnumButtonGroup.d.ts +4 -0
  121. package/lib/components-react/new-editors/interop/old-editors/EnumButtonGroup.d.ts.map +1 -0
  122. package/lib/components-react/new-editors/interop/old-editors/EnumButtonGroup.js +50 -0
  123. package/lib/components-react/new-editors/interop/old-editors/EnumButtonGroup.js.map +1 -0
  124. package/lib/components-react/new-editors/interop/old-editors/NumericInput.d.ts +4 -0
  125. package/lib/components-react/new-editors/interop/old-editors/NumericInput.d.ts.map +1 -0
  126. package/lib/components-react/new-editors/interop/old-editors/NumericInput.js +86 -0
  127. package/lib/components-react/new-editors/interop/old-editors/NumericInput.js.map +1 -0
  128. package/lib/components-react/new-editors/interop/old-editors/Slider.d.ts +3 -0
  129. package/lib/components-react/new-editors/interop/old-editors/Slider.d.ts.map +1 -0
  130. package/lib/components-react/new-editors/interop/old-editors/Slider.js +66 -0
  131. package/lib/components-react/new-editors/interop/old-editors/Slider.js.map +1 -0
  132. package/lib/components-react/new-editors/interop/old-editors/TextArea.d.ts +3 -0
  133. package/lib/components-react/new-editors/interop/old-editors/TextArea.d.ts.map +1 -0
  134. package/lib/components-react/new-editors/interop/old-editors/TextArea.js +33 -0
  135. package/lib/components-react/new-editors/interop/old-editors/TextArea.js.map +1 -0
  136. package/lib/components-react/new-editors/interop/old-editors/UseEditorParams.d.ts +31 -0
  137. package/lib/components-react/new-editors/interop/old-editors/UseEditorParams.d.ts.map +1 -0
  138. package/lib/components-react/new-editors/interop/old-editors/UseEditorParams.js +52 -0
  139. package/lib/components-react/new-editors/interop/old-editors/UseEditorParams.js.map +1 -0
  140. package/lib/components-react/new-editors/interop/old-editors/UseEnumMetadata.d.ts +8 -0
  141. package/lib/components-react/new-editors/interop/old-editors/UseEnumMetadata.d.ts.map +1 -0
  142. package/lib/components-react/new-editors/interop/old-editors/UseEnumMetadata.js +41 -0
  143. package/lib/components-react/new-editors/interop/old-editors/UseEnumMetadata.js.map +1 -0
  144. package/lib/components-react/new-editors/values/Metadata.d.ts +35 -0
  145. package/lib/components-react/new-editors/values/Metadata.d.ts.map +1 -0
  146. package/lib/components-react/new-editors/values/Metadata.js +9 -0
  147. package/lib/components-react/new-editors/values/Metadata.js.map +1 -0
  148. package/lib/components-react/new-editors/values/ValueUtilities.d.ts +40 -0
  149. package/lib/components-react/new-editors/values/ValueUtilities.d.ts.map +1 -0
  150. package/lib/components-react/new-editors/values/ValueUtilities.js +84 -0
  151. package/lib/components-react/new-editors/values/ValueUtilities.js.map +1 -0
  152. package/lib/components-react/new-editors/values/Values.d.ts +58 -0
  153. package/lib/components-react/new-editors/values/Values.d.ts.map +1 -0
  154. package/lib/components-react/new-editors/values/Values.js +9 -0
  155. package/lib/components-react/new-editors/values/Values.js.map +1 -0
  156. package/lib/components-react/properties/IconNodeEditorParam.d.ts +16 -0
  157. package/lib/components-react/properties/IconNodeEditorParam.d.ts.map +1 -0
  158. package/lib/components-react/properties/IconNodeEditorParam.js +20 -0
  159. package/lib/components-react/properties/IconNodeEditorParam.js.map +1 -0
  160. package/lib/components-react/properties/renderers/PropertyGridColumns.d.ts.map +1 -1
  161. package/lib/components-react/properties/renderers/PropertyGridColumns.js +1 -1
  162. package/lib/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  163. package/lib/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts +8 -1
  164. package/lib/components-react/propertygrid/component/VirtualizedPropertyGrid.d.ts.map +1 -1
  165. package/lib/components-react/propertygrid/component/VirtualizedPropertyGrid.js +2 -1
  166. package/lib/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  167. package/lib/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts +6 -0
  168. package/lib/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
  169. package/lib/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +1 -1
  170. package/lib/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  171. package/lib/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts +5 -2
  172. package/lib/components-react/propertygrid/dataproviders/FilteringDataProvider.d.ts.map +1 -1
  173. package/lib/components-react/propertygrid/dataproviders/FilteringDataProvider.js +7 -1
  174. package/lib/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  175. package/lib/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.d.ts.map +1 -1
  176. package/lib/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js +1 -1
  177. package/lib/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  178. package/lib/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.d.ts.map +1 -1
  179. package/lib/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js +1 -1
  180. package/lib/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  181. package/lib/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts +2 -0
  182. package/lib/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.d.ts.map +1 -1
  183. package/lib/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js +3 -3
  184. package/lib/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  185. package/lib/components-react/tree/controlled/TreeEventHandler.d.ts +7 -3
  186. package/lib/components-react/tree/controlled/TreeEventHandler.d.ts.map +1 -1
  187. package/lib/components-react/tree/controlled/TreeEventHandler.js +9 -2
  188. package/lib/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  189. package/lib/components-react.d.ts +9 -0
  190. package/lib/components-react.d.ts.map +1 -1
  191. package/lib/components-react.js +7 -0
  192. package/lib/components-react.js.map +1 -1
  193. package/lib/internal.d.ts +1 -0
  194. package/lib/internal.d.ts.map +1 -1
  195. package/lib/internal.js +1 -0
  196. package/lib/internal.js.map +1 -1
  197. package/package.json +16 -17
@@ -0,0 +1,146 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { PropertyValueFormat } from "@itwin/appui-abstract";
6
+ import { isBoolean, isDate, isEnum, isNumeric, isText, } from "../values/ValueUtilities.js";
7
+ /**
8
+ * Interop utilities for converting between old and new editor values.
9
+ * @internal
10
+ */
11
+ export var EditorInterop;
12
+ (function (EditorInterop) {
13
+ /** Attempts to convert `PropertyRecord` into `ValueMetadata` and `Value`. */
14
+ function getMetadataAndValue(propertyRecord) {
15
+ const baseMetadata = {
16
+ preferredEditor: propertyRecord.property.editor?.name,
17
+ params: propertyRecord.property.editor?.params,
18
+ extendedData: propertyRecord.extendedData,
19
+ enum: propertyRecord.property.enum,
20
+ typename: propertyRecord.property.typename,
21
+ };
22
+ const primitiveValue = propertyRecord.value;
23
+ switch (propertyRecord.property.typename) {
24
+ case "text":
25
+ case "string":
26
+ return {
27
+ metadata: {
28
+ ...baseMetadata,
29
+ type: "string",
30
+ },
31
+ value: {
32
+ value: primitiveValue.value ?? "",
33
+ },
34
+ };
35
+ case "dateTime":
36
+ case "shortdate":
37
+ return {
38
+ metadata: {
39
+ ...baseMetadata,
40
+ type: propertyRecord.property.typename === "shortdate"
41
+ ? "date"
42
+ : "dateTime",
43
+ },
44
+ value: {
45
+ value: primitiveValue.value ?? new Date(),
46
+ },
47
+ };
48
+ case "boolean":
49
+ case "bool":
50
+ return {
51
+ metadata: {
52
+ ...baseMetadata,
53
+ type: "bool",
54
+ },
55
+ value: {
56
+ value: primitiveValue.value ?? false,
57
+ },
58
+ };
59
+ case "float":
60
+ case "double":
61
+ case "int":
62
+ case "integer":
63
+ case "number":
64
+ return {
65
+ metadata: {
66
+ ...baseMetadata,
67
+ type: "number",
68
+ },
69
+ value: {
70
+ rawValue: primitiveValue.value,
71
+ displayValue: primitiveValue.displayValue
72
+ ? primitiveValue.displayValue
73
+ : primitiveValue.value !== undefined
74
+ ? `${primitiveValue.value}`
75
+ : "",
76
+ },
77
+ };
78
+ case "enum":
79
+ return {
80
+ metadata: {
81
+ ...baseMetadata,
82
+ type: "enum",
83
+ },
84
+ value: {
85
+ choice: primitiveValue.value,
86
+ },
87
+ };
88
+ case "navigation":
89
+ return {
90
+ metadata: {
91
+ ...baseMetadata,
92
+ type: "instanceKey",
93
+ },
94
+ value: {
95
+ key: primitiveValue.value,
96
+ label: primitiveValue.displayValue ?? "",
97
+ },
98
+ };
99
+ }
100
+ return {
101
+ metadata: undefined,
102
+ value: undefined,
103
+ };
104
+ }
105
+ EditorInterop.getMetadataAndValue = getMetadataAndValue;
106
+ /** Converts new editors system `Value` into old `PrimitiveValue` */
107
+ function convertToPrimitiveValue(newValue) {
108
+ if (isText(newValue)) {
109
+ return {
110
+ valueFormat: PropertyValueFormat.Primitive,
111
+ value: newValue.value,
112
+ displayValue: newValue.value,
113
+ };
114
+ }
115
+ if (isNumeric(newValue)) {
116
+ return {
117
+ valueFormat: PropertyValueFormat.Primitive,
118
+ value: newValue.rawValue,
119
+ displayValue: newValue.displayValue,
120
+ };
121
+ }
122
+ if (isBoolean(newValue)) {
123
+ return {
124
+ valueFormat: PropertyValueFormat.Primitive,
125
+ value: newValue.value,
126
+ displayValue: newValue.value.toString(),
127
+ };
128
+ }
129
+ if (isDate(newValue)) {
130
+ return {
131
+ valueFormat: PropertyValueFormat.Primitive,
132
+ value: newValue.value,
133
+ displayValue: newValue.value.toString(),
134
+ };
135
+ }
136
+ if (isEnum(newValue)) {
137
+ return {
138
+ valueFormat: PropertyValueFormat.Primitive,
139
+ value: newValue.choice,
140
+ };
141
+ }
142
+ throw new Error("Unsupported value type");
143
+ }
144
+ EditorInterop.convertToPrimitiveValue = convertToPrimitiveValue;
145
+ })(EditorInterop || (EditorInterop = {}));
146
+ //# sourceMappingURL=EditorInterop.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EditorInterop.js","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/EditorInterop.ts"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type {\n Primitives,\n PrimitiveValue,\n PropertyRecord,\n} from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat } from \"@itwin/appui-abstract\";\nimport type {\n BooleanValue,\n DateValue,\n EnumValue,\n InstanceKeyValue,\n NumericValue,\n TextValue,\n} from \"../values/Values.js\";\nimport type { Value as NewEditorValue } from \"../values/Values.js\";\nimport type { OldEditorMetadata } from \"./Metadata.js\";\nimport {\n isBoolean,\n isDate,\n isEnum,\n isNumeric,\n isText,\n} from \"../values/ValueUtilities.js\";\n\n/**\n * Interop utilities for converting between old and new editor values.\n * @internal\n */\nexport namespace EditorInterop {\n /** Attempts to convert `PropertyRecord` into `ValueMetadata` and `Value`. */\n export function getMetadataAndValue(propertyRecord: PropertyRecord): {\n metadata: OldEditorMetadata | undefined;\n value: NewEditorValue | undefined;\n } {\n const baseMetadata: Omit<OldEditorMetadata, \"type\"> = {\n preferredEditor: propertyRecord.property.editor?.name,\n params: propertyRecord.property.editor?.params,\n extendedData: propertyRecord.extendedData,\n enum: propertyRecord.property.enum,\n typename: propertyRecord.property.typename,\n };\n\n const primitiveValue = propertyRecord.value as PrimitiveValue;\n switch (propertyRecord.property.typename) {\n case \"text\":\n case \"string\":\n return {\n metadata: {\n ...baseMetadata,\n type: \"string\",\n },\n value: {\n value: (primitiveValue.value as string) ?? \"\",\n } satisfies TextValue,\n };\n case \"dateTime\":\n case \"shortdate\":\n return {\n metadata: {\n ...baseMetadata,\n type:\n propertyRecord.property.typename === \"shortdate\"\n ? \"date\"\n : \"dateTime\",\n },\n value: {\n value: (primitiveValue.value as Date) ?? new Date(),\n } satisfies DateValue,\n };\n case \"boolean\":\n case \"bool\":\n return {\n metadata: {\n ...baseMetadata,\n type: \"bool\",\n },\n value: {\n value: (primitiveValue.value as boolean) ?? false,\n } satisfies BooleanValue,\n };\n case \"float\":\n case \"double\":\n case \"int\":\n case \"integer\":\n case \"number\":\n return {\n metadata: {\n ...baseMetadata,\n type: \"number\",\n },\n value: {\n rawValue: primitiveValue.value as number,\n displayValue: primitiveValue.displayValue\n ? primitiveValue.displayValue\n : primitiveValue.value !== undefined\n ? `${primitiveValue.value as number}`\n : \"\",\n } satisfies NumericValue,\n };\n case \"enum\":\n return {\n metadata: {\n ...baseMetadata,\n type: \"enum\",\n },\n value: {\n choice: primitiveValue.value as number | string,\n } satisfies EnumValue,\n };\n case \"navigation\":\n return {\n metadata: {\n ...baseMetadata,\n type: \"instanceKey\",\n },\n value: {\n key: primitiveValue.value as Primitives.InstanceKey,\n label: primitiveValue.displayValue ?? \"\",\n } satisfies InstanceKeyValue,\n };\n }\n\n return {\n metadata: undefined,\n value: undefined,\n };\n }\n\n /** Converts new editors system `Value` into old `PrimitiveValue` */\n export function convertToPrimitiveValue(\n newValue: NewEditorValue\n ): PrimitiveValue {\n if (isText(newValue)) {\n return {\n valueFormat: PropertyValueFormat.Primitive,\n value: newValue.value,\n displayValue: newValue.value,\n };\n }\n if (isNumeric(newValue)) {\n return {\n valueFormat: PropertyValueFormat.Primitive,\n value: newValue.rawValue,\n displayValue: newValue.displayValue,\n };\n }\n if (isBoolean(newValue)) {\n return {\n valueFormat: PropertyValueFormat.Primitive,\n value: newValue.value,\n displayValue: newValue.value.toString(),\n };\n }\n if (isDate(newValue)) {\n return {\n valueFormat: PropertyValueFormat.Primitive,\n value: newValue.value,\n displayValue: newValue.value.toString(),\n };\n }\n\n if (isEnum(newValue)) {\n return {\n valueFormat: PropertyValueFormat.Primitive,\n value: newValue.choice,\n };\n }\n\n throw new Error(\"Unsupported value type\");\n }\n}\n"]}
@@ -0,0 +1,6 @@
1
+ import * as React from "react";
2
+ /**
3
+ * @internal
4
+ */
5
+ export declare function findIcon(iconName?: string): React.JSX.Element;
6
+ //# sourceMappingURL=IconsRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconsRegistry.d.ts","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/IconsRegistry.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B;;GAEG;AACH,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,qBAOzC"}
@@ -0,0 +1,41 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { SvgPlaceholder } from "@itwin/itwinui-icons-react";
6
+ import * as React from "react";
7
+ /* v8 ignore start */
8
+ /**
9
+ * @internal
10
+ */
11
+ export function findIcon(iconName) {
12
+ if (!iconName) {
13
+ return React.createElement(SvgPlaceholder, null);
14
+ }
15
+ const icon = webfontIconsMap[iconName];
16
+ return icon ? icon : React.createElement(SvgPlaceholder, null);
17
+ }
18
+ const webfontIconsMap = {
19
+ "icon-select-single": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
20
+ React.createElement("path", { d: "m15 7h-1.0922a6.0081 6.0081 0 0 0 -4.9078-4.9078v-1.0922a1 1 0 0 0 -2 0v1.0922a6.0081 6.0081 0 0 0 -4.9078 4.9078h-1.0922a1 1 0 0 0 0 2h1.0923a6.008 6.008 0 0 0 4.9077 4.9078v1.0922a1 1 0 0 0 2 0v-1.0922a6.008 6.008 0 0 0 4.9077-4.9078h1.0923a1 1 0 0 0 0-2zm-2.4769 1.923a4.6245 4.6245 0 0 1 -3.6 3.6 4.6572 4.6572 0 0 1 -1.8462 0 4.6245 4.6245 0 0 1 -3.6-3.6 4.6617 4.6617 0 0 1 0-1.8461 4.6243 4.6243 0 0 1 3.6-3.6 4.6622 4.6622 0 0 1 1.8462 0 4.6243 4.6243 0 0 1 3.6 3.6 4.6617 4.6617 0 0 1 0 1.8461z" }))),
21
+ "icon-select-line": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
22
+ React.createElement("path", { d: "M14.35352,1.35352l-.707-.707L.64648,13.646481l.707,.707" }))),
23
+ "icon-select-box": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
24
+ React.createElement("path", { d: "m14 2v12h-12v-12zm1-1h-14v14h14z" }))),
25
+ "icon-replace": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
26
+ React.createElement("path", { d: "m0 0h7v7h-7zm16 16h-7v-7h7zm-6-1h5v-5h-5zm-6.8484-6.0734-.7425-.7424-1.7678 1.7677 1.0253.0354a3.87023 3.87023 0 0 0 1.096 3.5002 4 4 0 0 0 5.3033.3536l-.7071-.7071a3.02646 3.02646 0 0 1 -4.7023-3.076l1.6617.0354zm10.0932-6.9317a3.99992 3.99992 0 0 0 -5.2679-.3182l.7071.7071a3 3 0 0 1 3.8537.3182 2.85982 2.85982 0 0 1 .7778 2.8284h-1.4849l1.7678 1.7678 1.7678-1.7678h-.9899a4.16081 4.16081 0 0 0 -1.1315-3.5355" }))),
27
+ "icon-select-plus": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
28
+ React.createElement("path", { d: "m1 1v14h14v-14zm11 8h-3v3h-2v-3h-3v-2h3v-3h2v3h3z" }))),
29
+ "icon-select-minus": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
30
+ React.createElement("path", { d: "m8 0a8 8 0 1 0 8 8 8 8 0 0 0 -8-8zm5 9h-10v-2h10z" }))),
31
+ "icon-app-1": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
32
+ React.createElement("path", { d: "M13,1a2.0023,2.0023,0,0,1,2,2V13a2.0023,2.0023,0,0,1-2,2H3a2.0023,2.0023,0,0,1-2-2V3A2.0023,2.0023,0,0,1,3,1H13m0-1H3A3,3,0,0,0,0,3V13a3,3,0,0,0,3,3H13a3,3,0,0,0,3-3V3a3,3,0,0,0-3-3Z" }),
33
+ React.createElement("path", { d: "m8.695 12.223h-.87v-5.597q0-.698.043-1.321-.113.113-.252.236t-1.278 1.047l-.473-.612 2.078-1.606h.752" }))),
34
+ "icon-app-2": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
35
+ React.createElement("path", { d: "M13,1a2.0023,2.0023,0,0,1,2,2V13a2.0023,2.0023,0,0,1-2,2H3a2.0023,2.0023,0,0,1-2-2V3A2.0023,2.0023,0,0,1,3,1H13m0-1H3A3,3,0,0,0,0,3V13a3,3,0,0,0,3,3H13a3,3,0,0,0,3-3V3a3,3,0,0,0-3-3Z" }),
36
+ React.createElement("path", { d: "M10.5537,12.2227H5.3926v-.7676L7.46,9.376A15.0726,15.0726,0,0,0,8.7061,8.0117a3.43,3.43,0,0,0,.4512-.7949,2.2694,2.2694,0,0,0,.15-.8325,1.3218,1.3218,0,0,0-.3809-.9966A1.4635,1.4635,0,0,0,7.8682,5.02a2.6559,2.6559,0,0,0-.9258.1611,3.7028,3.7028,0,0,0-.9756.5854L5.4941,5.16a3.6219,3.6219,0,0,1,2.3633-.9023,2.4962,2.4962,0,0,1,1.7354.5669,1.9478,1.9478,0,0,1,.6279,1.5225,2.9407,2.9407,0,0,1-.4189,1.4771A9.38,9.38,0,0,1,8.2334,9.6719L6.5146,11.3525v.043h4.0391Z" }))),
37
+ "icon-apps-itwin": (React.createElement("svg", { viewBox: "0 0 16 16", xmlns: "http://www.w3.org/2000/svg" },
38
+ React.createElement("path", { d: "m15.99733 3.94971a1.40456 1.40456 0 0 0 -.68186-1.12171l-3.41455-2.02581a1.39719 1.39719 0 0 0 -1.42644 0l-.17514.10392-1.01734.60359-2.22207 1.3183a1.404 1.404 0 0 0 -.68443 1.20209v1.11318l-.85-.50428a1.39692 1.39692 0 0 0 -1.42644 0l-2.15676 1.2796-.99578.59082-.262.15542a1.40386 1.40386 0 0 0 -.68452 1.20205v4.103c0 .0269.00112.05367.00268.08037a1.40454 1.40454 0 0 0 .68186 1.12175l3.41454 2.02584a1.39719 1.39719 0 0 0 1.42644 0l.17515-.10391 1.01733-.60362 2.22207-1.31831a1.404 1.404 0 0 0 .68444-1.202v-1.11327l.85.50429a1.39695 1.39695 0 0 0 1.42644 0l2.15678-1.27961.99579-.59081.262-.15543a1.40386 1.40386 0 0 0 .68448-1.20205v-4.103c0-.02694-.00111-.05371-.00267-.08041zm-11.17745 2.66922a.74413.74413 0 1 1 -.74414.74413.74412.74412 0 0 1 .74414-.74413zm2.037 6.37484-.29972.18471-1.07162.66036-.3669.22609-.18956.11682a.17417.17417 0 0 1 -.04294.02113.25282.25282 0 0 1 -.17289-.013l-.01771-.00815-.10292-.06342-1.82494-1.12454v-1.13313s.00612-.2441.31679-.06657l1.12588.69234v-2.42875l-.70151-.43238v-1.13314s.00612-.24409.31679-.06657l1.58222.973v3.09173l1.1322-.69623c.31067-.17753.31678.06657.31678.06657zm8.54852-7.88831v3.02766a.80664.80664 0 0 1 -.39331.69067l-.262.15543-.99579.59078-2.1568 1.27962a.80236.80236 0 0 1 -.81962 0l-1.15337-.68428v-2.29846a1.40368 1.40368 0 0 0 -.68444-1.202l-1.12365-.66671-.84632-.50212v-1.466a.80677.80677 0 0 1 .39323-.69068l2.22205-1.3183 1.01736-.60359.17516-.10393a.8026.8026 0 0 1 .81963 0l3.41447 2.0258a.814.814 0 0 1 .39176.645c.00088.01519.00166.0304.00166.04571zm-3.95807-2.71336 2.15631 1.32879v1.33893s-.00723.28842-.37432.07866l-1.33032-.81808v2.86984l.82891.5109v1.33893s-.00723.28843-.37432.07867l-1.86959-1.14966v-3.65328l-1.33781.82268c-.3671.20976-.37432-.07866-.37432-.07866v-1.33893l.35413-.21824 1.26623-.7803.43353-.26717.224-.138a.20549.20549 0 0 1 .05074-.025.29863.29863 0 0 1 .2043.01532l.02092.00964z" }))),
39
+ };
40
+ /* v8 ignore stop */
41
+ //# sourceMappingURL=IconsRegistry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconsRegistry.js","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/IconsRegistry.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,qBAAqB;AAErB;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,QAAiB;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,oBAAC,cAAc,OAAG,CAAC;IAC5B,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAC,cAAc,OAAG,CAAC;AAC1C,CAAC;AAED,MAAM,eAAe,GAEjB;IACF,oBAAoB,EAAE,CACpB,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,yfAAyf,GAAG,CAChgB,CACP;IACD,kBAAkB,EAAE,CAClB,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,yDAAyD,GAAG,CAChE,CACP;IACD,iBAAiB,EAAE,CACjB,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,kCAAkC,GAAG,CACzC,CACP;IACD,cAAc,EAAE,CACd,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,8ZAA8Z,GAAG,CACra,CACP;IACD,kBAAkB,EAAE,CAClB,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,mDAAmD,GAAG,CAC1D,CACP;IACD,mBAAmB,EAAE,CACnB,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,mDAAmD,GAAG,CAC1D,CACP;IACD,YAAY,EAAE,CACZ,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,wLAAwL,GAAG;QACnM,8BAAM,CAAC,EAAC,uGAAuG,GAAG,CAC9G,CACP;IACD,YAAY,EAAE,CACZ,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,wLAAwL,GAAG;QACnM,8BAAM,CAAC,EAAC,gdAAgd,GAAG,CACvd,CACP;IACD,iBAAiB,EAAE,CACjB,6BAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,4BAA4B;QACzD,8BAAM,CAAC,EAAC,+1DAA+1D,GAAG,CACt2D,CACP;CACF,CAAC;AAEF,oBAAoB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport { SvgPlaceholder } from \"@itwin/itwinui-icons-react\";\nimport * as React from \"react\";\n\n/* v8 ignore start */\n\n/**\n * @internal\n */\nexport function findIcon(iconName?: string) {\n if (!iconName) {\n return <SvgPlaceholder />;\n }\n\n const icon = webfontIconsMap[iconName];\n return icon ? icon : <SvgPlaceholder />;\n}\n\nconst webfontIconsMap: {\n [key: string]: React.JSX.Element;\n} = {\n \"icon-select-single\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m15 7h-1.0922a6.0081 6.0081 0 0 0 -4.9078-4.9078v-1.0922a1 1 0 0 0 -2 0v1.0922a6.0081 6.0081 0 0 0 -4.9078 4.9078h-1.0922a1 1 0 0 0 0 2h1.0923a6.008 6.008 0 0 0 4.9077 4.9078v1.0922a1 1 0 0 0 2 0v-1.0922a6.008 6.008 0 0 0 4.9077-4.9078h1.0923a1 1 0 0 0 0-2zm-2.4769 1.923a4.6245 4.6245 0 0 1 -3.6 3.6 4.6572 4.6572 0 0 1 -1.8462 0 4.6245 4.6245 0 0 1 -3.6-3.6 4.6617 4.6617 0 0 1 0-1.8461 4.6243 4.6243 0 0 1 3.6-3.6 4.6622 4.6622 0 0 1 1.8462 0 4.6243 4.6243 0 0 1 3.6 3.6 4.6617 4.6617 0 0 1 0 1.8461z\" />\n </svg>\n ),\n \"icon-select-line\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M14.35352,1.35352l-.707-.707L.64648,13.646481l.707,.707\" />\n </svg>\n ),\n \"icon-select-box\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m14 2v12h-12v-12zm1-1h-14v14h14z\" />\n </svg>\n ),\n \"icon-replace\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m0 0h7v7h-7zm16 16h-7v-7h7zm-6-1h5v-5h-5zm-6.8484-6.0734-.7425-.7424-1.7678 1.7677 1.0253.0354a3.87023 3.87023 0 0 0 1.096 3.5002 4 4 0 0 0 5.3033.3536l-.7071-.7071a3.02646 3.02646 0 0 1 -4.7023-3.076l1.6617.0354zm10.0932-6.9317a3.99992 3.99992 0 0 0 -5.2679-.3182l.7071.7071a3 3 0 0 1 3.8537.3182 2.85982 2.85982 0 0 1 .7778 2.8284h-1.4849l1.7678 1.7678 1.7678-1.7678h-.9899a4.16081 4.16081 0 0 0 -1.1315-3.5355\" />\n </svg>\n ),\n \"icon-select-plus\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m1 1v14h14v-14zm11 8h-3v3h-2v-3h-3v-2h3v-3h2v3h3z\" />\n </svg>\n ),\n \"icon-select-minus\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m8 0a8 8 0 1 0 8 8 8 8 0 0 0 -8-8zm5 9h-10v-2h10z\" />\n </svg>\n ),\n \"icon-app-1\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13,1a2.0023,2.0023,0,0,1,2,2V13a2.0023,2.0023,0,0,1-2,2H3a2.0023,2.0023,0,0,1-2-2V3A2.0023,2.0023,0,0,1,3,1H13m0-1H3A3,3,0,0,0,0,3V13a3,3,0,0,0,3,3H13a3,3,0,0,0,3-3V3a3,3,0,0,0-3-3Z\" />\n <path d=\"m8.695 12.223h-.87v-5.597q0-.698.043-1.321-.113.113-.252.236t-1.278 1.047l-.473-.612 2.078-1.606h.752\" />\n </svg>\n ),\n \"icon-app-2\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M13,1a2.0023,2.0023,0,0,1,2,2V13a2.0023,2.0023,0,0,1-2,2H3a2.0023,2.0023,0,0,1-2-2V3A2.0023,2.0023,0,0,1,3,1H13m0-1H3A3,3,0,0,0,0,3V13a3,3,0,0,0,3,3H13a3,3,0,0,0,3-3V3a3,3,0,0,0-3-3Z\" />\n <path d=\"M10.5537,12.2227H5.3926v-.7676L7.46,9.376A15.0726,15.0726,0,0,0,8.7061,8.0117a3.43,3.43,0,0,0,.4512-.7949,2.2694,2.2694,0,0,0,.15-.8325,1.3218,1.3218,0,0,0-.3809-.9966A1.4635,1.4635,0,0,0,7.8682,5.02a2.6559,2.6559,0,0,0-.9258.1611,3.7028,3.7028,0,0,0-.9756.5854L5.4941,5.16a3.6219,3.6219,0,0,1,2.3633-.9023,2.4962,2.4962,0,0,1,1.7354.5669,1.9478,1.9478,0,0,1,.6279,1.5225,2.9407,2.9407,0,0,1-.4189,1.4771A9.38,9.38,0,0,1,8.2334,9.6719L6.5146,11.3525v.043h4.0391Z\" />\n </svg>\n ),\n \"icon-apps-itwin\": (\n <svg viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"m15.99733 3.94971a1.40456 1.40456 0 0 0 -.68186-1.12171l-3.41455-2.02581a1.39719 1.39719 0 0 0 -1.42644 0l-.17514.10392-1.01734.60359-2.22207 1.3183a1.404 1.404 0 0 0 -.68443 1.20209v1.11318l-.85-.50428a1.39692 1.39692 0 0 0 -1.42644 0l-2.15676 1.2796-.99578.59082-.262.15542a1.40386 1.40386 0 0 0 -.68452 1.20205v4.103c0 .0269.00112.05367.00268.08037a1.40454 1.40454 0 0 0 .68186 1.12175l3.41454 2.02584a1.39719 1.39719 0 0 0 1.42644 0l.17515-.10391 1.01733-.60362 2.22207-1.31831a1.404 1.404 0 0 0 .68444-1.202v-1.11327l.85.50429a1.39695 1.39695 0 0 0 1.42644 0l2.15678-1.27961.99579-.59081.262-.15543a1.40386 1.40386 0 0 0 .68448-1.20205v-4.103c0-.02694-.00111-.05371-.00267-.08041zm-11.17745 2.66922a.74413.74413 0 1 1 -.74414.74413.74412.74412 0 0 1 .74414-.74413zm2.037 6.37484-.29972.18471-1.07162.66036-.3669.22609-.18956.11682a.17417.17417 0 0 1 -.04294.02113.25282.25282 0 0 1 -.17289-.013l-.01771-.00815-.10292-.06342-1.82494-1.12454v-1.13313s.00612-.2441.31679-.06657l1.12588.69234v-2.42875l-.70151-.43238v-1.13314s.00612-.24409.31679-.06657l1.58222.973v3.09173l1.1322-.69623c.31067-.17753.31678.06657.31678.06657zm8.54852-7.88831v3.02766a.80664.80664 0 0 1 -.39331.69067l-.262.15543-.99579.59078-2.1568 1.27962a.80236.80236 0 0 1 -.81962 0l-1.15337-.68428v-2.29846a1.40368 1.40368 0 0 0 -.68444-1.202l-1.12365-.66671-.84632-.50212v-1.466a.80677.80677 0 0 1 .39323-.69068l2.22205-1.3183 1.01736-.60359.17516-.10393a.8026.8026 0 0 1 .81963 0l3.41447 2.0258a.814.814 0 0 1 .39176.645c.00088.01519.00166.0304.00166.04571zm-3.95807-2.71336 2.15631 1.32879v1.33893s-.00723.28842-.37432.07866l-1.33032-.81808v2.86984l.82891.5109v1.33893s-.00723.28843-.37432.07867l-1.86959-1.14966v-3.65328l-1.33781.82268c-.3671.20976-.37432-.07866-.37432-.07866v-1.33893l.35413-.21824 1.26623-.7803.43353-.26717.224-.138a.20549.20549 0 0 1 .05074-.025.29863.29863 0 0 1 .2043.01532l.02092.00964z\" />\n </svg>\n ),\n};\n\n/* v8 ignore stop */\n"]}
@@ -0,0 +1,21 @@
1
+ import type { EnumerationChoicesInfo, PropertyEditorParams } from "@itwin/appui-abstract";
2
+ import type { ValueMetadata } from "../values/Metadata.js";
3
+ /**
4
+ * Metadata that is created by mapping `PropertyRecord` used to render old editor into the new editor metadata.
5
+ * @internal
6
+ */
7
+ export interface OldEditorMetadata extends ValueMetadata {
8
+ params?: PropertyEditorParams[];
9
+ extendedData?: {
10
+ [key: string]: unknown;
11
+ };
12
+ enum?: EnumerationChoicesInfo;
13
+ quantityType?: string;
14
+ typename: string;
15
+ }
16
+ /**
17
+ * Type guard for `OldEditorMetadata`.
18
+ * @internal
19
+ */
20
+ export declare function isOldEditorMetadata(metadata: ValueMetadata): metadata is OldEditorMetadata;
21
+ //# sourceMappingURL=Metadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/Metadata.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,sBAAsB,EACtB,oBAAoB,EACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAI3D;;;GAGG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAC1C,IAAI,CAAC,EAAE,sBAAsB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,aAAa,GACtB,QAAQ,IAAI,iBAAiB,CAE/B"}
@@ -0,0 +1,13 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Type guard for `OldEditorMetadata`.
7
+ * @internal
8
+ */
9
+ export function isOldEditorMetadata(metadata) {
10
+ return metadata.typename !== undefined;
11
+ }
12
+ /* v8 ignore stop */
13
+ //# sourceMappingURL=Metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/Metadata.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAsBhG;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAuB;IAEvB,OAAQ,QAA8B,CAAC,QAAQ,KAAK,SAAS,CAAC;AAChE,CAAC;AAED,oBAAoB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport type {\n EnumerationChoicesInfo,\n PropertyEditorParams,\n} from \"@itwin/appui-abstract\";\nimport type { ValueMetadata } from \"../values/Metadata.js\";\n\n/* v8 ignore start */\n\n/**\n * Metadata that is created by mapping `PropertyRecord` used to render old editor into the new editor metadata.\n * @internal\n */\nexport interface OldEditorMetadata extends ValueMetadata {\n params?: PropertyEditorParams[];\n extendedData?: { [key: string]: unknown };\n enum?: EnumerationChoicesInfo;\n quantityType?: string;\n typename: string;\n}\n\n/**\n * Type guard for `OldEditorMetadata`.\n * @internal\n */\nexport function isOldEditorMetadata(\n metadata: ValueMetadata\n): metadata is OldEditorMetadata {\n return (metadata as OldEditorMetadata).typename !== undefined;\n}\n\n/* v8 ignore stop */\n"]}
@@ -0,0 +1,22 @@
1
+ /** @packageDocumentation
2
+ * @module PropertyEditors
3
+ */
4
+ import * as React from "react";
5
+ import { type PropertyRecord } from "@itwin/appui-abstract";
6
+ import { type PropertyUpdatedArgs } from "../../editors/EditorContainer.js";
7
+ interface PropertyRecordEditorProps {
8
+ propertyRecord: PropertyRecord;
9
+ onCommit: (args: PropertyUpdatedArgs) => void;
10
+ onCancel: () => void;
11
+ onClick?: () => void;
12
+ setFocus?: boolean;
13
+ size?: "small" | "large";
14
+ editorSystem?: "legacy" | "new";
15
+ }
16
+ /**
17
+ * Editor component for editing property values represented by `PropertyRecord`.
18
+ * @beta
19
+ */
20
+ export declare function PropertyRecordEditor({ propertyRecord, onCommit, onCancel, onClick, setFocus, size, editorSystem, }: PropertyRecordEditorProps): React.JSX.Element;
21
+ export {};
22
+ //# sourceMappingURL=PropertyRecordEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyRecordEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/PropertyRecordEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,kCAAkC,CAAC;AAM1C,UAAU,yBAAyB;IACjC,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC9C,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,YAAY,GACb,EAAE,yBAAyB,qBAiC3B"}
@@ -0,0 +1,41 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /** @packageDocumentation
6
+ * @module PropertyEditors
7
+ */
8
+ import * as React from "react";
9
+ import { PropertyValueFormat, } from "@itwin/appui-abstract";
10
+ import { EditorInterop } from "./EditorInterop.js";
11
+ import { EditorContainer, } from "../../editors/EditorContainer.js";
12
+ import { useCommittableValue } from "../UseCommittableValue.js";
13
+ import { EditorRenderer } from "../EditorRenderer.js";
14
+ /**
15
+ * Editor component for editing property values represented by `PropertyRecord`.
16
+ * @beta
17
+ */
18
+ export function PropertyRecordEditor({ propertyRecord, onCommit, onCancel, onClick, setFocus, size, editorSystem, }) {
19
+ const { metadata, value } = EditorInterop.getMetadataAndValue(propertyRecord);
20
+ if (editorSystem === "new" && metadata && value) {
21
+ return (React.createElement(CommittingEditor, { metadata: metadata, initialValue: value, onCommit: (newValue) => {
22
+ onCommit({
23
+ propertyRecord,
24
+ newValue: newValue === undefined
25
+ ? { valueFormat: PropertyValueFormat.Primitive }
26
+ : EditorInterop.convertToPrimitiveValue(newValue),
27
+ });
28
+ }, onCancel: onCancel, onClick: onClick, disabled: propertyRecord.isDisabled || propertyRecord.isReadonly, size: size }));
29
+ }
30
+ return (React.createElement(EditorContainer, { propertyRecord: propertyRecord, onCommit: onCommit, onCancel: onCancel, onClick: onClick, setFocus: setFocus }));
31
+ }
32
+ function CommittingEditor({ metadata, initialValue, onCancel, onCommit, onClick, disabled, size, }) {
33
+ const { value, onChange, onKeydown, commit, cancel } = useCommittableValue({
34
+ initialValue,
35
+ onCommit,
36
+ onCancel,
37
+ });
38
+ return (React.createElement("div", { onKeyDown: onKeydown, onBlur: commit, onClick: onClick, role: "presentation" },
39
+ React.createElement(EditorRenderer, { metadata: metadata, value: value, onChange: onChange, commit: commit, cancel: cancel, disabled: disabled, size: size })));
40
+ }
41
+ //# sourceMappingURL=PropertyRecordEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PropertyRecordEditor.js","sourceRoot":"","sources":["../../../../src/components-react/new-editors/interop/PropertyRecordEditor.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAChG;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAEL,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACL,eAAe,GAEhB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AActD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,cAAc,EACd,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,EACJ,YAAY,GACc;IAC1B,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,aAAa,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;IAC9E,IAAI,YAAY,KAAK,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QAChD,OAAO,CACL,oBAAC,gBAAgB,IACf,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,KAAK,EACnB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACrB,QAAQ,CAAC;oBACP,cAAc;oBACd,QAAQ,EACN,QAAQ,KAAK,SAAS;wBACpB,CAAC,CAAC,EAAE,WAAW,EAAE,mBAAmB,CAAC,SAAS,EAAE;wBAChD,CAAC,CAAC,aAAa,CAAC,uBAAuB,CAAC,QAAQ,CAAC;iBACtD,CAAC,CAAC;YACL,CAAC,EACD,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,EAChE,IAAI,EAAE,IAAI,GACV,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,oBAAC,eAAe,IACd,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,IAAI,GASL;IACC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,mBAAmB,CAAC;QACzE,YAAY;QACZ,QAAQ;QACR,QAAQ;KACT,CAAC,CAAC;IAEH,OAAO,CACL,6BACE,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,IAAI,EAAC,cAAc;QAEnB,oBAAC,cAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,IAAI,GACV,CACE,CACP,CAAC;AACJ,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport * as React from \"react\";\nimport {\n type PropertyRecord,\n PropertyValueFormat,\n} from \"@itwin/appui-abstract\";\nimport { EditorInterop } from \"./EditorInterop.js\";\nimport {\n EditorContainer,\n type PropertyUpdatedArgs,\n} from \"../../editors/EditorContainer.js\";\nimport { useCommittableValue } from \"../UseCommittableValue.js\";\nimport { EditorRenderer } from \"../EditorRenderer.js\";\nimport type { ValueMetadata } from \"../values/Metadata.js\";\nimport type { Value } from \"../values/Values.js\";\n\ninterface PropertyRecordEditorProps {\n propertyRecord: PropertyRecord;\n onCommit: (args: PropertyUpdatedArgs) => void;\n onCancel: () => void;\n onClick?: () => void;\n setFocus?: boolean;\n size?: \"small\" | \"large\";\n editorSystem?: \"legacy\" | \"new\";\n}\n\n/**\n * Editor component for editing property values represented by `PropertyRecord`.\n * @beta\n */\nexport function PropertyRecordEditor({\n propertyRecord,\n onCommit,\n onCancel,\n onClick,\n setFocus,\n size,\n editorSystem,\n}: PropertyRecordEditorProps) {\n const { metadata, value } = EditorInterop.getMetadataAndValue(propertyRecord);\n if (editorSystem === \"new\" && metadata && value) {\n return (\n <CommittingEditor\n metadata={metadata}\n initialValue={value}\n onCommit={(newValue) => {\n onCommit({\n propertyRecord,\n newValue:\n newValue === undefined\n ? { valueFormat: PropertyValueFormat.Primitive }\n : EditorInterop.convertToPrimitiveValue(newValue),\n });\n }}\n onCancel={onCancel}\n onClick={onClick}\n disabled={propertyRecord.isDisabled || propertyRecord.isReadonly}\n size={size}\n />\n );\n }\n\n return (\n <EditorContainer\n propertyRecord={propertyRecord}\n onCommit={onCommit}\n onCancel={onCancel}\n onClick={onClick}\n setFocus={setFocus}\n />\n );\n}\n\nfunction CommittingEditor({\n metadata,\n initialValue,\n onCancel,\n onCommit,\n onClick,\n disabled,\n size,\n}: {\n metadata: ValueMetadata;\n initialValue?: Value;\n onCommit: (value?: Value) => void;\n onCancel: () => void;\n onClick?: () => void;\n disabled?: boolean;\n size?: \"small\" | \"large\";\n}) {\n const { value, onChange, onKeydown, commit, cancel } = useCommittableValue({\n initialValue,\n onCommit,\n onCancel,\n });\n\n return (\n <div\n onKeyDown={onKeydown}\n onBlur={commit}\n onClick={onClick}\n role=\"presentation\"\n >\n <EditorRenderer\n metadata={metadata}\n value={value}\n onChange={onChange}\n commit={commit}\n cancel={cancel}\n disabled={disabled}\n size={size}\n />\n </div>\n );\n}\n"]}
@@ -0,0 +1,7 @@
1
+ import type { EditorSpec } from "../../Types.js";
2
+ /**
3
+ * Editor specification for color editor.
4
+ * @internal
5
+ */
6
+ export declare const ColorEditorSpec: EditorSpec;
7
+ //# sourceMappingURL=Color.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/Color.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAU9D;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,UAU5B,CAAC"}
@@ -0,0 +1,48 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import * as React from "react";
6
+ import { PropertyEditorParamTypes, StandardEditorNames, } from "@itwin/appui-abstract";
7
+ import { ColorPalette, ColorPicker, ColorSwatch, ColorValue, IconButton, Popover, } from "@itwin/itwinui-react";
8
+ import { createEditorSpec } from "../../Types.js";
9
+ import { isOldEditorMetadata } from "../Metadata.js";
10
+ import { useColorEditorParams } from "./UseEditorParams.js";
11
+ import { isNumeric } from "../../values/ValueUtilities.js";
12
+ /* v8 ignore start */
13
+ /**
14
+ * Editor specification for color editor.
15
+ * @internal
16
+ */
17
+ export const ColorEditorSpec = createEditorSpec({
18
+ isMetadataSupported: (metadata) => isOldEditorMetadata(metadata) &&
19
+ metadata.type === "number" &&
20
+ !!metadata.params?.find((param) => param.type === PropertyEditorParamTypes.ColorData.valueOf()) &&
21
+ metadata.preferredEditor === StandardEditorNames.ColorPicker,
22
+ isValueSupported: isNumeric,
23
+ Editor: ColorEditor,
24
+ });
25
+ function ColorEditor({ value, metadata, onChange, commit, size, }) {
26
+ const colorParams = useColorEditorParams(metadata);
27
+ const colors = colorParams?.colorValues ?? [];
28
+ const currentValue = value
29
+ ? value
30
+ : { rawValue: colors[0], displayValue: "" };
31
+ const colorsList = colors.map((color) => ColorValue.fromTbgr(color));
32
+ const activeColor = currentValue.rawValue !== undefined
33
+ ? ColorValue.fromTbgr(currentValue.rawValue)
34
+ : colorsList[0];
35
+ const onColorChanged = (color) => {
36
+ onChange({ rawValue: color.toTbgr(), displayValue: "" });
37
+ };
38
+ return (React.createElement(Popover, { content: React.createElement(ColorPicker, { selectedColor: activeColor, onChangeComplete: onColorChanged },
39
+ React.createElement(ColorPalette, { colors: colorsList })), onVisibleChange: (visible) => {
40
+ if (!visible) {
41
+ commit?.();
42
+ }
43
+ } },
44
+ React.createElement(IconButton, { size: size },
45
+ React.createElement(ColorSwatch, { color: activeColor }))));
46
+ }
47
+ /* v8 ignore stop */
48
+ //# sourceMappingURL=Color.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Color.js","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/Color.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,wBAAwB,EACxB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAU,EACV,OAAO,GACR,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,qBAAqB;AAErB;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAe,gBAAgB,CAAC;IAC1D,mBAAmB,EAAE,CAAC,QAAQ,EAAiC,EAAE,CAC/D,mBAAmB,CAAC,QAAQ,CAAC;QAC7B,QAAQ,CAAC,IAAI,KAAK,QAAQ;QAC1B,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,wBAAwB,CAAC,SAAS,CAAC,OAAO,EAAE,CACvE;QACD,QAAQ,CAAC,eAAe,KAAK,mBAAmB,CAAC,WAAW;IAC9D,gBAAgB,EAAE,SAAS;IAC3B,MAAM,EAAE,WAAW;CACpB,CAAC,CAAC;AAEH,SAAS,WAAW,CAAC,EACnB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,IAAI,GACyC;IAC7C,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,MAAM,GAAG,WAAW,EAAE,WAAW,IAAI,EAAE,CAAC;IAE9C,MAAM,YAAY,GAAG,KAAK;QACxB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACrE,MAAM,WAAW,GACf,YAAY,CAAC,QAAQ,KAAK,SAAS;QACjC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAEpB,MAAM,cAAc,GAAG,CAAC,KAAiB,EAAE,EAAE;QAC3C,QAAQ,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,OAAO,IACN,OAAO,EACL,oBAAC,WAAW,IACV,aAAa,EAAE,WAAW,EAC1B,gBAAgB,EAAE,cAAc;YAEhC,oBAAC,YAAY,IAAC,MAAM,EAAE,UAAU,GAAI,CACxB,EAEhB,eAAe,EAAE,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,EAAE,EAAE,CAAC;YACb,CAAC;QACH,CAAC;QAED,oBAAC,UAAU,IAAC,IAAI,EAAE,IAAI;YACpB,oBAAC,WAAW,IAAC,KAAK,EAAE,WAAW,GAAI,CACxB,CACL,CACX,CAAC;AACJ,CAAC;AAED,oBAAoB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as React from \"react\";\nimport {\n PropertyEditorParamTypes,\n StandardEditorNames,\n} from \"@itwin/appui-abstract\";\nimport {\n ColorPalette,\n ColorPicker,\n ColorSwatch,\n ColorValue,\n IconButton,\n Popover,\n} from \"@itwin/itwinui-react\";\nimport type { EditorProps, EditorSpec } from \"../../Types.js\";\nimport { createEditorSpec } from \"../../Types.js\";\nimport type { OldEditorMetadata } from \"../Metadata.js\";\nimport { isOldEditorMetadata } from \"../Metadata.js\";\nimport type { NumericValue } from \"../../values/Values.js\";\nimport { useColorEditorParams } from \"./UseEditorParams.js\";\nimport { isNumeric } from \"../../values/ValueUtilities.js\";\n\n/* v8 ignore start */\n\n/**\n * Editor specification for color editor.\n * @internal\n */\nexport const ColorEditorSpec: EditorSpec = createEditorSpec({\n isMetadataSupported: (metadata): metadata is OldEditorMetadata =>\n isOldEditorMetadata(metadata) &&\n metadata.type === \"number\" &&\n !!metadata.params?.find(\n (param) => param.type === PropertyEditorParamTypes.ColorData.valueOf()\n ) &&\n metadata.preferredEditor === StandardEditorNames.ColorPicker,\n isValueSupported: isNumeric,\n Editor: ColorEditor,\n});\n\nfunction ColorEditor({\n value,\n metadata,\n onChange,\n commit,\n size,\n}: EditorProps<OldEditorMetadata, NumericValue>) {\n const colorParams = useColorEditorParams(metadata);\n const colors = colorParams?.colorValues ?? [];\n\n const currentValue = value\n ? value\n : { rawValue: colors[0], displayValue: \"\" };\n const colorsList = colors.map((color) => ColorValue.fromTbgr(color));\n const activeColor =\n currentValue.rawValue !== undefined\n ? ColorValue.fromTbgr(currentValue.rawValue)\n : colorsList[0];\n\n const onColorChanged = (color: ColorValue) => {\n onChange({ rawValue: color.toTbgr(), displayValue: \"\" });\n };\n\n return (\n <Popover\n content={\n <ColorPicker\n selectedColor={activeColor}\n onChangeComplete={onColorChanged}\n >\n <ColorPalette colors={colorsList} />\n </ColorPicker>\n }\n onVisibleChange={(visible) => {\n if (!visible) {\n commit?.();\n }\n }}\n >\n <IconButton size={size}>\n <ColorSwatch color={activeColor} />\n </IconButton>\n </Popover>\n );\n}\n\n/* v8 ignore stop */\n"]}
@@ -0,0 +1,3 @@
1
+ /** @internal */
2
+ export declare const CustomNumberEditorSpec: import("../../Types.js").EditorSpec;
3
+ //# sourceMappingURL=CustomNumber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomNumber.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/CustomNumber.tsx"],"names":[],"mappings":"AA0BA,gBAAgB;AAChB,eAAO,MAAM,sBAAsB,qCAWjC,CAAC"}
@@ -0,0 +1,59 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import * as React from "react";
6
+ import { PropertyEditorParamTypes, StandardEditorNames, } from "@itwin/appui-abstract";
7
+ import { InputWithDecorations } from "@itwin/itwinui-react";
8
+ import { createEditorSpec } from "../../Types.js";
9
+ import { isOldEditorMetadata } from "../Metadata.js";
10
+ import { useCustomFormattedNumberParams, useIconEditorParams, useInputEditorSizeParams, } from "./UseEditorParams.js";
11
+ import { findIcon } from "../IconsRegistry.js";
12
+ import { isNumeric } from "../../values/ValueUtilities.js";
13
+ /* v8 ignore start */
14
+ /** @internal */
15
+ export const CustomNumberEditorSpec = createEditorSpec({
16
+ isMetadataSupported: (metadata) => isOldEditorMetadata(metadata) &&
17
+ metadata.type === "number" &&
18
+ !!metadata.params?.find((param) => param.type === PropertyEditorParamTypes.CustomFormattedNumber.valueOf()) &&
19
+ metadata.preferredEditor === StandardEditorNames.NumberCustom,
20
+ isValueSupported: isNumeric,
21
+ Editor: CustomNumberEditor,
22
+ });
23
+ function CustomNumberEditor({ metadata, value, onChange, size, disabled, }) {
24
+ const formatParams = useCustomFormattedNumberParams(metadata);
25
+ const sizeParams = useInputEditorSizeParams(metadata);
26
+ const iconParams = useIconEditorParams(metadata);
27
+ const inputRef = React.useRef(null);
28
+ const [inputValue, setInputValue] = React.useState(() => {
29
+ return value?.rawValue !== undefined && formatParams
30
+ ? formatParams.formatFunction(value.rawValue)
31
+ : "";
32
+ });
33
+ if (!formatParams) {
34
+ return null;
35
+ }
36
+ const style = sizeParams?.size !== undefined
37
+ ? {
38
+ minWidth: `${sizeParams?.size * 0.75}em`,
39
+ }
40
+ : undefined;
41
+ const icon = iconParams?.definition?.iconSpec !== undefined
42
+ ? findIcon(iconParams.definition.iconSpec)
43
+ : undefined;
44
+ const handleChange = (e) => {
45
+ const currentValue = e.target.value;
46
+ const result = formatParams.parseFunction(currentValue);
47
+ const parsedValue = typeof result.value === "number" ? result.value : undefined;
48
+ setInputValue(currentValue);
49
+ onChange({
50
+ rawValue: parsedValue,
51
+ displayValue: currentValue,
52
+ });
53
+ };
54
+ return (React.createElement(InputWithDecorations, { size: size },
55
+ icon !== undefined ? (React.createElement(InputWithDecorations.Icon, null, icon)) : null,
56
+ React.createElement(InputWithDecorations.Input, { ref: inputRef, style: style, disabled: disabled, onChange: handleChange, value: inputValue })));
57
+ }
58
+ /* v8 ignore stop */
59
+ //# sourceMappingURL=CustomNumber.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CustomNumber.js","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/CustomNumber.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as React from \"react\";\nimport {\n PropertyEditorParamTypes,\n StandardEditorNames,\n} from \"@itwin/appui-abstract\";\nimport { InputWithDecorations } from \"@itwin/itwinui-react\";\nimport type { EditorProps } from \"../../Types.js\";\nimport { createEditorSpec } from \"../../Types.js\";\nimport type { OldEditorMetadata } from \"../Metadata.js\";\nimport { isOldEditorMetadata } from \"../Metadata.js\";\nimport type { NumericValue } from \"../../values/Values.js\";\nimport {\n useCustomFormattedNumberParams,\n useIconEditorParams,\n useInputEditorSizeParams,\n} from \"./UseEditorParams.js\";\nimport { findIcon } from \"../IconsRegistry.js\";\nimport { isNumeric } from \"../../values/ValueUtilities.js\";\n\n/* v8 ignore start */\n\n/** @internal */\nexport const CustomNumberEditorSpec = createEditorSpec({\n isMetadataSupported: (metadata): metadata is OldEditorMetadata =>\n isOldEditorMetadata(metadata) &&\n metadata.type === \"number\" &&\n !!metadata.params?.find(\n (param) =>\n param.type === PropertyEditorParamTypes.CustomFormattedNumber.valueOf()\n ) &&\n metadata.preferredEditor === StandardEditorNames.NumberCustom,\n isValueSupported: isNumeric,\n Editor: CustomNumberEditor,\n});\n\nfunction CustomNumberEditor({\n metadata,\n value,\n onChange,\n size,\n disabled,\n}: EditorProps<OldEditorMetadata, NumericValue>) {\n const formatParams = useCustomFormattedNumberParams(metadata);\n const sizeParams = useInputEditorSizeParams(metadata);\n const iconParams = useIconEditorParams(metadata);\n const inputRef = React.useRef<HTMLInputElement>(null);\n const [inputValue, setInputValue] = React.useState(() => {\n return value?.rawValue !== undefined && formatParams\n ? formatParams.formatFunction(value.rawValue)\n : \"\";\n });\n\n if (!formatParams) {\n return null;\n }\n\n const style: React.CSSProperties | undefined =\n sizeParams?.size !== undefined\n ? {\n minWidth: `${sizeParams?.size * 0.75}em`,\n }\n : undefined;\n const icon =\n iconParams?.definition?.iconSpec !== undefined\n ? findIcon(iconParams.definition.iconSpec)\n : undefined;\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const currentValue = e.target.value;\n const result = formatParams.parseFunction(currentValue);\n const parsedValue =\n typeof result.value === \"number\" ? result.value : undefined;\n\n setInputValue(currentValue);\n\n onChange({\n rawValue: parsedValue,\n displayValue: currentValue,\n });\n };\n\n return (\n <InputWithDecorations size={size}>\n {icon !== undefined ? (\n <InputWithDecorations.Icon>{icon}</InputWithDecorations.Icon>\n ) : null}\n <InputWithDecorations.Input\n ref={inputRef}\n style={style}\n disabled={disabled}\n onChange={handleChange}\n value={inputValue}\n />\n </InputWithDecorations>\n );\n}\n\n/* v8 ignore stop */\n"]}
@@ -0,0 +1,4 @@
1
+ import { type EditorSpec } from "../../Types.js";
2
+ /** @internal */
3
+ export declare const EnumEditorSpec: EditorSpec;
4
+ //# sourceMappingURL=Enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Enum.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/Enum.tsx"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,UAAU,EAChB,MAAM,gBAAgB,CAAC;AAUxB,gBAAgB;AAChB,eAAO,MAAM,cAAc,EAAE,UAK3B,CAAC"}
@@ -0,0 +1,23 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import * as React from "react";
6
+ import { createEditorSpec, } from "../../Types.js";
7
+ import { EnumEditor as NewEnumEditor } from "../../editors/EnumEditor.js";
8
+ import { isOldEditorMetadata } from "../Metadata.js";
9
+ import { useEnumMetadata } from "./UseEnumMetadata.js";
10
+ import { isEnum } from "../../values/ValueUtilities.js";
11
+ /* v8 ignore start */
12
+ /** @internal */
13
+ export const EnumEditorSpec = createEditorSpec({
14
+ isMetadataSupported: (metadata) => isOldEditorMetadata(metadata) && metadata.type === "enum",
15
+ isValueSupported: isEnum,
16
+ Editor: EnumEditor,
17
+ });
18
+ function EnumEditor(props) {
19
+ const newMetadata = useEnumMetadata(props.metadata);
20
+ return React.createElement(NewEnumEditor, { ...props, metadata: newMetadata });
21
+ }
22
+ /* v8 ignore stop */
23
+ //# sourceMappingURL=Enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Enum.js","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/Enum.tsx"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EACL,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAExD,qBAAqB;AAErB,gBAAgB;AAChB,MAAM,CAAC,MAAM,cAAc,GAAe,gBAAgB,CAAC;IACzD,mBAAmB,EAAE,CAAC,QAAQ,EAAiC,EAAE,CAC/D,mBAAmB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,IAAI,KAAK,MAAM;IAC3D,gBAAgB,EAAE,MAAM;IACxB,MAAM,EAAE,UAAU;CACnB,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAgD;IAClE,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,oBAAC,aAAa,OAAK,KAAK,EAAE,QAAQ,EAAE,WAAW,GAAI,CAAC;AAC7D,CAAC;AAED,oBAAoB","sourcesContent":["/*---------------------------------------------------------------------------------------------\n * Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n * See LICENSE.md in the project root for license terms and full copyright notice.\n *--------------------------------------------------------------------------------------------*/\n\nimport * as React from \"react\";\nimport {\n createEditorSpec,\n type EditorProps,\n type EditorSpec,\n} from \"../../Types.js\";\nimport { EnumEditor as NewEnumEditor } from \"../../editors/EnumEditor.js\";\nimport type { OldEditorMetadata } from \"../Metadata.js\";\nimport { isOldEditorMetadata } from \"../Metadata.js\";\nimport type { EnumValue } from \"../../values/Values.js\";\nimport { useEnumMetadata } from \"./UseEnumMetadata.js\";\nimport { isEnum } from \"../../values/ValueUtilities.js\";\n\n/* v8 ignore start */\n\n/** @internal */\nexport const EnumEditorSpec: EditorSpec = createEditorSpec({\n isMetadataSupported: (metadata): metadata is OldEditorMetadata =>\n isOldEditorMetadata(metadata) && metadata.type === \"enum\",\n isValueSupported: isEnum,\n Editor: EnumEditor,\n});\n\nfunction EnumEditor(props: EditorProps<OldEditorMetadata, EnumValue>) {\n const newMetadata = useEnumMetadata(props.metadata);\n return <NewEnumEditor {...props} metadata={newMetadata} />;\n}\n\n/* v8 ignore stop */\n"]}
@@ -0,0 +1,4 @@
1
+ import type { EditorSpec } from "../../Types.js";
2
+ /** @internal */
3
+ export declare const EnumButtonGroupEditorSpec: EditorSpec;
4
+ //# sourceMappingURL=EnumButtonGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EnumButtonGroup.d.ts","sourceRoot":"","sources":["../../../../../src/components-react/new-editors/interop/old-editors/EnumButtonGroup.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAe,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAa9D,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,EAAE,UAOtC,CAAC"}