@itwin/components-react 4.8.0 → 4.9.0-dev.1
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.md +5 -0
- package/lib/cjs/components-react/UiComponents.d.ts.map +1 -1
- package/lib/cjs/components-react/UiComponents.js +1 -0
- package/lib/cjs/components-react/UiComponents.js.map +1 -1
- package/lib/cjs/components-react/common/DelayedSpinner.d.ts +3 -2
- package/lib/cjs/components-react/common/DelayedSpinner.d.ts.map +1 -1
- package/lib/cjs/components-react/common/DelayedSpinner.js +1 -1
- package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
- package/lib/cjs/components-react/common/ImageRenderer.d.ts.map +1 -1
- package/lib/cjs/components-react/common/ImageRenderer.js +3 -4
- package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js +1 -0
- package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
- package/lib/cjs/components-react/datepicker/DateField.scss +2 -5
- package/lib/cjs/components-react/datepicker/TimeField.d.ts.map +1 -1
- package/lib/cjs/components-react/datepicker/TimeField.js +8 -4
- package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
- package/lib/cjs/components-react/datepicker/TimeField.scss +3 -6
- package/lib/cjs/components-react/editors/BooleanEditor.js +1 -1
- package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
- package/lib/cjs/components-react/editors/CustomNumberEditor.js +1 -1
- package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/CustomNumberEditor.scss +3 -5
- package/lib/cjs/components-react/editors/EnumEditor.d.ts.map +1 -1
- package/lib/cjs/components-react/editors/EnumEditor.js +8 -1
- package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/EnumEditor.scss +4 -6
- package/lib/cjs/components-react/editors/NumericInputEditor.js +1 -1
- package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/NumericInputEditor.scss +3 -5
- package/lib/cjs/components-react/editors/SliderEditor.d.ts.map +1 -1
- package/lib/cjs/components-react/editors/SliderEditor.js +5 -2
- package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/TextEditor.d.ts.map +1 -1
- package/lib/cjs/components-react/editors/TextEditor.js +1 -1
- package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/TextEditor.scss +3 -5
- package/lib/cjs/components-react/editors/TextareaEditor.d.ts +1 -0
- package/lib/cjs/components-react/editors/TextareaEditor.d.ts.map +1 -1
- package/lib/cjs/components-react/editors/TextareaEditor.js +4 -3
- package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ToggleEditor.js +1 -1
- package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
- package/lib/cjs/components-react/editors/ToggleEditor.scss +2 -8
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js +3 -5
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRule.scss +0 -6
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js +2 -2
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleGroup.scss +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
- package/lib/cjs/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
- package/lib/cjs/components-react/filtering/ResultSelector.scss +1 -1
- package/lib/cjs/components-react/inputs/ParsedInput.scss +1 -4
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js +4 -2
- package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +0 -17
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +2 -3
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +42 -10
- package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts +12 -0
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js +22 -1
- package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js +1 -0
- package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
- package/lib/esm/components-react/UiComponents.d.ts.map +1 -1
- package/lib/esm/components-react/UiComponents.js +1 -0
- package/lib/esm/components-react/UiComponents.js.map +1 -1
- package/lib/esm/components-react/common/DelayedSpinner.d.ts +3 -2
- package/lib/esm/components-react/common/DelayedSpinner.d.ts.map +1 -1
- package/lib/esm/components-react/common/DelayedSpinner.js +1 -1
- package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
- package/lib/esm/components-react/common/ImageRenderer.d.ts.map +1 -1
- package/lib/esm/components-react/common/ImageRenderer.js +3 -4
- package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.d.ts.map +1 -1
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js +1 -0
- package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
- package/lib/esm/components-react/datepicker/DateField.scss +2 -5
- package/lib/esm/components-react/datepicker/TimeField.d.ts.map +1 -1
- package/lib/esm/components-react/datepicker/TimeField.js +5 -4
- package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
- package/lib/esm/components-react/datepicker/TimeField.scss +3 -6
- package/lib/esm/components-react/editors/BooleanEditor.js +1 -1
- package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
- package/lib/esm/components-react/editors/CustomNumberEditor.d.ts.map +1 -1
- package/lib/esm/components-react/editors/CustomNumberEditor.js +1 -1
- package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
- package/lib/esm/components-react/editors/CustomNumberEditor.scss +3 -5
- package/lib/esm/components-react/editors/EnumEditor.d.ts.map +1 -1
- package/lib/esm/components-react/editors/EnumEditor.js +8 -1
- package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
- package/lib/esm/components-react/editors/EnumEditor.scss +4 -6
- package/lib/esm/components-react/editors/NumericInputEditor.js +1 -1
- package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
- package/lib/esm/components-react/editors/NumericInputEditor.scss +3 -5
- package/lib/esm/components-react/editors/SliderEditor.d.ts.map +1 -1
- package/lib/esm/components-react/editors/SliderEditor.js +5 -2
- package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
- package/lib/esm/components-react/editors/TextEditor.d.ts.map +1 -1
- package/lib/esm/components-react/editors/TextEditor.js +1 -1
- package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
- package/lib/esm/components-react/editors/TextEditor.scss +3 -5
- package/lib/esm/components-react/editors/TextareaEditor.d.ts +1 -0
- package/lib/esm/components-react/editors/TextareaEditor.d.ts.map +1 -1
- package/lib/esm/components-react/editors/TextareaEditor.js +4 -3
- package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ToggleEditor.js +1 -1
- package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
- package/lib/esm/components-react/editors/ToggleEditor.scss +2 -8
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.d.ts.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.js +4 -6
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRule.scss +0 -6
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.d.ts.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js +2 -2
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.js.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleGroup.scss +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.d.ts.map +1 -1
- package/lib/esm/components-react/filter-builder/FilterBuilderRuleProperty.js.map +1 -1
- package/lib/esm/components-react/filtering/ResultSelector.scss +1 -1
- package/lib/esm/components-react/inputs/ParsedInput.scss +1 -4
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.d.ts.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js +4 -2
- package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
- package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +0 -17
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +2 -3
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.d.ts.map +1 -1
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js +21 -9
- package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts +12 -0
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.d.ts.map +1 -1
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js +20 -0
- package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js +1 -0
- package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
- package/package.json +8 -7
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,11 @@ Thu, 21 Dec 2023 14:08:42 GMT
|
|
|
10
10
|
- Add ability to remove all items in PropertyFilterBuilderActions.
|
|
11
11
|
- Ensure correct initial property orientation in `PropertyGrid`
|
|
12
12
|
|
|
13
|
+
## 4.7.2
|
|
14
|
+
Wed, 20 Dec 2023 23:11:37 GMT
|
|
15
|
+
|
|
16
|
+
_Version update only_
|
|
17
|
+
|
|
13
18
|
## 4.7.1
|
|
14
19
|
Thu, 07 Dec 2023 19:40:17 GMT
|
|
15
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components-react/UiComponents.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAe;IAE5C;;;OAGG;WACiB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE,0DAA0D;WAC5C,SAAS;IAWvB,sDAAsD;IACtD,WAAkB,WAAW,IAAI,OAAO,CAEvC;IAED;;OAEG;IACH,WAAkB,YAAY,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"UiComponents.d.ts","sourceRoot":"","sources":["../../../src/components-react/UiComponents.ts"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKvD;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,YAAY,CAAS;IACpC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAe;IAE5C;;;OAGG;WACiB,UAAU,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBzE,0DAA0D;WAC5C,SAAS;IAWvB,sDAAsD;IACtD,WAAkB,WAAW,IAAI,OAAO,CAEvC;IAED;;OAEG;IACH,WAAkB,YAAY,IAAI,YAAY,CAQ7C;IAED,kDAAkD;IAClD,WAAkB,qBAAqB,IAAI,MAAM,CAEhD;IAED,gBAAgB;IAChB,WAAkB,WAAW,IAAI,MAAM,CAEtC;IAED;;OAEG;WACW,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM;IAavD,gBAAgB;WACF,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM;CAM/C"}
|
|
@@ -50,6 +50,7 @@ class UiComponents {
|
|
|
50
50
|
*/
|
|
51
51
|
static get localization() {
|
|
52
52
|
if (!UiComponents._localization)
|
|
53
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
53
54
|
throw new appui_abstract_1.UiError(UiComponents.loggerCategory(this), "_localization: UiComponents.initialize has not been called. Unable to return Localization object.");
|
|
54
55
|
return UiComponents._localization;
|
|
55
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UiComponents.js","sourceRoot":"","sources":["../../../src/components-react/UiComponents.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAAsC;AACtC,sDAA6C;AAE7C,kDAA2C;AAC3C,kDAAuD;AACvD,0DAAgD;AAEhD;;;GAGG;AACH,MAAa,YAAY;IAIvB;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAA0B;QACvD,IAAI,YAAY,CAAC,YAAY,EAAE;YAC7B,qBAAM,CAAC,OAAO,CACZ,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,EACzC,wCAAwC,CACzC,CAAC;YACF,OAAO;SACR;QAED,IAAA,qBAAa,GAAE,CAAC;QAChB,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC;QAC1C,MAAM,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAChD,YAAY,CAAC,qBAAqB,CACnC,CAAC;QAEF,MAAM,mBAAM,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpD,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,0DAA0D;IACnD,MAAM,CAAC,SAAS;QACrB,IAAI,YAAY,CAAC,aAAa;YAC5B,YAAY,CAAC,aAAa,CAAC,mBAAmB,CAC5C,YAAY,CAAC,qBAAqB,CACnC,CAAC;QACJ,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;QAEvC,mBAAM,CAAC,SAAS,EAAE,CAAC;QACnB,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,sDAAsD;IAC/C,MAAM,KAAK,WAAW;QAC3B,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,MAAM,KAAK,YAAY;QAC5B,IAAI,CAAC,YAAY,CAAC,aAAa;YAC7B,MAAM,IAAI,wBAAO,CACf,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EACjC,mGAAmG,CACpG,CAAC;QACJ,OAAO,YAAY,CAAC,aAAa,CAAC;IACpC,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gBAAgB;IACT,MAAM,KAAK,WAAW;QAC3B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,GAAsB;QAC5C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC7B,qBAAM,CAAC,QAAQ,CACb,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EACjC,iFAAiF,CAClF,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACvD,EAAE,EAAE,YAAY,CAAC,qBAAqB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,cAAc,CAAC,GAAQ;QACnC,MAAM,SAAS,GAAG,IAAA,+BAAkB,EAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GACZ,YAAY,CAAC,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC;;
|
|
1
|
+
{"version":3,"file":"UiComponents.js","sourceRoot":"","sources":["../../../src/components-react/UiComponents.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;AAEH,iCAAsC;AACtC,sDAA6C;AAE7C,kDAA2C;AAC3C,kDAAuD;AACvD,0DAAgD;AAEhD;;;GAGG;AACH,MAAa,YAAY;IAIvB;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,YAA0B;QACvD,IAAI,YAAY,CAAC,YAAY,EAAE;YAC7B,qBAAM,CAAC,OAAO,CACZ,YAAY,CAAC,cAAc,CAAC,YAAY,CAAC,EACzC,wCAAwC,CACzC,CAAC;YACF,OAAO;SACR;QAED,IAAA,qBAAa,GAAE,CAAC;QAChB,YAAY,CAAC,aAAa,GAAG,YAAY,CAAC;QAC1C,MAAM,YAAY,CAAC,aAAa,CAAC,iBAAiB,CAChD,YAAY,CAAC,qBAAqB,CACnC,CAAC;QAEF,MAAM,mBAAM,CAAC,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QACpD,YAAY,CAAC,YAAY,GAAG,IAAI,CAAC;IACnC,CAAC;IAED,0DAA0D;IACnD,MAAM,CAAC,SAAS;QACrB,IAAI,YAAY,CAAC,aAAa;YAC5B,YAAY,CAAC,aAAa,CAAC,mBAAmB,CAC5C,YAAY,CAAC,qBAAqB,CACnC,CAAC;QACJ,YAAY,CAAC,aAAa,GAAG,SAAS,CAAC;QAEvC,mBAAM,CAAC,SAAS,EAAE,CAAC;QACnB,YAAY,CAAC,YAAY,GAAG,KAAK,CAAC;IACpC,CAAC;IAED,sDAAsD;IAC/C,MAAM,KAAK,WAAW;QAC3B,OAAO,YAAY,CAAC,YAAY,CAAC;IACnC,CAAC;IAED;;OAEG;IACI,MAAM,KAAK,YAAY;QAC5B,IAAI,CAAC,YAAY,CAAC,aAAa;YAC7B,mDAAmD;YACnD,MAAM,IAAI,wBAAO,CACf,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EACjC,mGAAmG,CACpG,CAAC;QACJ,OAAO,YAAY,CAAC,aAAa,CAAC;IACpC,CAAC;IAED,kDAAkD;IAC3C,MAAM,KAAK,qBAAqB;QACrC,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,gBAAgB;IACT,MAAM,KAAK,WAAW;QAC3B,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,SAAS,CAAC,GAAsB;QAC5C,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC7B,qBAAM,CAAC,QAAQ,CACb,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EACjC,iFAAiF,CAClF,CAAC;YACF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,YAAY,CAAC,YAAY,CAAC,kBAAkB,CAAC,GAAG,EAAE;YACvD,EAAE,EAAE,YAAY,CAAC,qBAAqB;SACvC,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IACT,MAAM,CAAC,cAAc,CAAC,GAAQ;QACnC,MAAM,SAAS,GAAG,IAAA,+BAAkB,EAAC,GAAG,CAAC,CAAC;QAC1C,MAAM,QAAQ,GACZ,YAAY,CAAC,WAAW,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChE,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAxFc,yBAAY,GAAG,KAAK,CAAC;AADzB,oCAAY","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 Common\n */\n\nimport { enablePatches } from \"immer\";\nimport { Logger } from \"@itwin/core-bentley\";\nimport type { Localization } from \"@itwin/core-common\";\nimport { UiCore } from \"@itwin/core-react\";\nimport { getObjectClassName } from \"@itwin/core-react\";\nimport { UiError } from \"@itwin/appui-abstract\";\n\n/**\n * Manages the localization service for the components-react package.\n * @public\n */\nexport class UiComponents {\n private static _initialized = false;\n private static _localization?: Localization;\n\n /**\n * Registers the localization service namespace for UiComponents. Also initializes UiCore.\n * @param localization The internationalization service created by the host application.\n */\n public static async initialize(localization: Localization): Promise<void> {\n if (UiComponents._initialized) {\n Logger.logInfo(\n UiComponents.loggerCategory(UiComponents),\n `UiComponents.initialize already called`\n );\n return;\n }\n\n enablePatches();\n UiComponents._localization = localization;\n await UiComponents._localization.registerNamespace(\n UiComponents.localizationNamespace\n );\n\n await UiCore.initialize(UiComponents._localization);\n UiComponents._initialized = true;\n }\n\n /** Unregisters the UiComponents localization namespace */\n public static terminate() {\n if (UiComponents._localization)\n UiComponents._localization.unregisterNamespace(\n UiComponents.localizationNamespace\n );\n UiComponents._localization = undefined;\n\n UiCore.terminate();\n UiComponents._initialized = false;\n }\n\n /** Determines if UiComponents has been initialized */\n public static get initialized(): boolean {\n return UiComponents._initialized;\n }\n\n /** The internationalization service created by the host application.\n * @internal\n */\n public static get localization(): Localization {\n if (!UiComponents._localization)\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiComponents.loggerCategory(this),\n \"_localization: UiComponents.initialize has not been called. Unable to return Localization object.\"\n );\n return UiComponents._localization;\n }\n\n /** The internationalization service namespace. */\n public static get localizationNamespace(): string {\n return \"UiComponents\";\n }\n\n /** @internal */\n public static get packageName(): string {\n return \"components-react\";\n }\n\n /** Calls localization.getLocalizedStringWithNamespace with the \"UiComponents\" namespace. Do NOT include the namespace in the key.\n * @internal\n */\n public static translate(key: string | string[]): string {\n if (!UiComponents.initialized) {\n Logger.logError(\n UiComponents.loggerCategory(this),\n `translate: UiComponents.initialize has not been called. Returning blank string.`\n );\n return \"\";\n }\n return UiComponents.localization.getLocalizedString(key, {\n ns: UiComponents.localizationNamespace,\n });\n }\n\n /** @internal */\n public static loggerCategory(obj: any): string {\n const className = getObjectClassName(obj);\n const category =\n UiComponents.packageName + (className ? `.${className}` : \"\");\n return category;\n }\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/** @packageDocumentation
|
|
2
2
|
* @module Common
|
|
3
3
|
*/
|
|
4
|
-
|
|
5
|
-
import
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
import { ProgressRadial } from "@itwin/itwinui-react";
|
|
6
|
+
type ProgressRadialProps = React.ComponentPropsWithoutRef<typeof ProgressRadial>;
|
|
6
7
|
/** Type for ProgressRadialProps.size */
|
|
7
8
|
type RadialSizeType = ProgressRadialProps["size"];
|
|
8
9
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayedSpinner.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/DelayedSpinner.tsx"],"names":[],"mappings":"AAIA;;GAEG
|
|
1
|
+
{"version":3,"file":"DelayedSpinner.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/DelayedSpinner.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,KAAK,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,CACvD,OAAO,cAAc,CACtB,CAAC;AAEF,wCAAwC;AACxC,KAAK,cAAc,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,sBAuBxD"}
|
|
@@ -52,7 +52,7 @@ function DelayedSpinner(props) {
|
|
|
52
52
|
});
|
|
53
53
|
if (diff < delay)
|
|
54
54
|
return null;
|
|
55
|
-
return React.createElement(itwinui_react_1.ProgressRadial, { indeterminate: true, size: (_b = props.size) !== null && _b !== void 0 ? _b : "large" });
|
|
55
|
+
return (React.createElement(itwinui_react_1.ProgressRadial, { "data-testid": "components-delayed-spinner", indeterminate: true, size: (_b = props.size) !== null && _b !== void 0 ? _b : "large" }));
|
|
56
56
|
}
|
|
57
57
|
exports.DelayedSpinner = DelayedSpinner;
|
|
58
58
|
const useForceUpdate = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DelayedSpinner.js","sourceRoot":"","sources":["../../../../src/components-react/common/DelayedSpinner.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;
|
|
1
|
+
{"version":3,"file":"DelayedSpinner.js","sourceRoot":"","sources":["../../../../src/components-react/common/DelayedSpinner.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAC/B,wDAAsD;AAmBtD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAA0B;;IACvD,MAAM,KAAK,GAAG,MAAA,KAAK,CAAC,KAAK,mCAAI,GAAG,CAAC;IACjC,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAElE,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IAEtD,MAAM,MAAM,GAAG,cAAc,EAAE,CAAC;IAChC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,IAAI,IAAI,KAAK;YAAE,OAAO;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QAC/C,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,GAAG,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,CACL,oBAAC,8BAAc,mBACD,4BAA4B,EACxC,aAAa,QACb,IAAI,EAAE,MAAA,KAAK,CAAC,IAAI,mCAAI,OAAO,GAC3B,CACH,CAAC;AACJ,CAAC;AAvBD,wCAuBC;AAED,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1C,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC,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 Common\n */\n\nimport * as React from \"react\";\nimport { ProgressRadial } from \"@itwin/itwinui-react\";\n\ntype ProgressRadialProps = React.ComponentPropsWithoutRef<\n typeof ProgressRadial\n>;\n\n/** Type for ProgressRadialProps.size */\ntype RadialSizeType = ProgressRadialProps[\"size\"];\n\n/**\n * Props for [[DelayedSpinner]] component.\n * @internal\n */\nexport interface DelayedSpinnerProps {\n loadStart?: Date;\n delay?: number;\n size?: RadialSizeType;\n}\n\n/**\n * Spinner that is rendered with delay.\n * @internal\n */\nexport function DelayedSpinner(props: DelayedSpinnerProps) {\n const delay = props.delay ?? 500;\n const [loadStart] = React.useState(props.loadStart || new Date());\n\n const currTime = new Date();\n const diff = currTime.getTime() - loadStart.getTime();\n\n const update = useForceUpdate();\n React.useEffect(() => {\n if (diff >= delay) return;\n const timer = setTimeout(update, delay - diff);\n return () => clearTimeout(timer);\n });\n\n if (diff < delay) return null;\n\n return (\n <ProgressRadial\n data-testid=\"components-delayed-spinner\"\n indeterminate\n size={props.size ?? \"large\"}\n />\n );\n}\n\nconst useForceUpdate = () => {\n const [value, set] = React.useState(true);\n return () => set(!value);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/ImageRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,KAAK,EAIN,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkC;IAE1D,OAAO,CAAC,WAAW;
|
|
1
|
+
{"version":3,"file":"ImageRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/ImageRenderer.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EACV,KAAK,EAIN,MAAM,gBAAgB,CAAC;AAGxB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,SAAS,CAAkC;IAE1D,OAAO,CAAC,WAAW;IAcnB,8BAA8B;IAC9B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,KAAK;IAcb,OAAO,CAAC,mBAAmB;IAU3B,iCAAiC;IACjC,OAAO,CAAC,SAAS;IAejB,+BAA+B;IAC/B,OAAO,CAAC,SAAS;IAIjB,sCAAsC;IACtC,OAAO,CAAC,cAAc;IAItB,sDAAsD;IACtD,OAAO,CAAC,0BAA0B;IAIlC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAKzB,yDAAyD;IAClD,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC,SAAS;CA2BnD"}
|
|
@@ -44,8 +44,7 @@ class ImageRenderer {
|
|
|
44
44
|
// istanbul ignore next
|
|
45
45
|
if (!match)
|
|
46
46
|
return "";
|
|
47
|
-
|
|
48
|
-
return btoa(match
|
|
47
|
+
return window.btoa(match
|
|
49
48
|
.map((a) => {
|
|
50
49
|
return String.fromCharCode(parseInt(a, 16));
|
|
51
50
|
})
|
|
@@ -73,8 +72,7 @@ class ImageRenderer {
|
|
|
73
72
|
if (!this.isSvg(svg)) {
|
|
74
73
|
return "";
|
|
75
74
|
}
|
|
76
|
-
|
|
77
|
-
const svgAsBase64 = btoa(svg);
|
|
75
|
+
const svgAsBase64 = window.btoa(svg);
|
|
78
76
|
return `data:image/svg+xml;base64,${svgAsBase64}`;
|
|
79
77
|
}
|
|
80
78
|
/** Render svg string into JSX */
|
|
@@ -140,6 +138,7 @@ class ImageRenderer {
|
|
|
140
138
|
return this.renderWebfontIcon(loadedImage.value);
|
|
141
139
|
default:
|
|
142
140
|
const unhandledSourceType = loadedImage.sourceType; // Compile time check that all cases are handled
|
|
141
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
143
142
|
throw new appui_abstract_1.UiError(UiComponents_1.UiComponents.loggerCategory(this), `Can't handle sourceType: "${unhandledSourceType}"`);
|
|
144
143
|
}
|
|
145
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageRenderer.js","sourceRoot":"","sources":["../../../../src/components-react/common/ImageRenderer.tsx"],"names":[],"mappings":";AAAA;;;gGAGgG;AAChG;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,6CAA+B;AAE/B,kDAAsD;AACtD,kDAA+C;AAO/C,0DAAgD;AAEhD;;GAEG;AACH,MAAa,aAAa;IAGhB,WAAW,CAAC,SAAiB;QACnC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACxC,uBAAuB;QACvB,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,
|
|
1
|
+
{"version":3,"file":"ImageRenderer.js","sourceRoot":"","sources":["../../../../src/components-react/common/ImageRenderer.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/** @packageDocumentation\n * @module Common\n */\n\nimport * as React from \"react\";\nimport type { WebFontIconProps } from \"@itwin/core-react\";\nimport { Icon, WebFontIcon } from \"@itwin/core-react\";\nimport { UiComponents } from \"../UiComponents\";\nimport type {\n Image,\n ImageFileFormat,\n LoadedBinaryImage,\n LoadedImage,\n} from \"./IImageLoader\";\nimport { UiError } from \"@itwin/appui-abstract\";\n\n/** A class that renders images from data provided by an image loader\n * @internal\n */\nexport class ImageRenderer {\n private static _svgCache: Map<string, string> = new Map();\n\n private hexToBase64(hexstring: string) {\n const match = hexstring.match(/\\w{2}/g);\n // istanbul ignore next\n if (!match) return \"\";\n\n return window.btoa(\n match\n .map((a) => {\n return String.fromCharCode(parseInt(a, 16));\n })\n .join(\"\")\n );\n }\n\n /** Render raw binary image */\n private renderBinary(data: string, format: ImageFileFormat) {\n // Convert binary to base64\n const dataAsBase64 = this.hexToBase64(data);\n return <img src={`data:image/${format};base64,${dataAsBase64}`} alt=\"\" />;\n }\n\n private isSvg(input: string): boolean {\n const parser = new DOMParser();\n const doc = parser.parseFromString(input, \"application/xml\");\n\n const errorNode = doc.querySelector(\"parsererror\");\n // istanbul ignore if\n if (errorNode) {\n return false;\n }\n\n const rootNode = doc.documentElement.nodeName.toLowerCase();\n return \"svg\" === rootNode;\n }\n\n private convertSvgToDataUri(svg: string) {\n // istanbul ignore if\n if (!this.isSvg(svg)) {\n return \"\";\n }\n\n const svgAsBase64 = window.btoa(svg);\n return `data:image/svg+xml;base64,${svgAsBase64}`;\n }\n\n /** Render svg string into JSX */\n private renderSvg(svg: string) {\n let svgAsDataUri = ImageRenderer._svgCache.get(svg);\n // istanbul ignore else\n if (undefined === svgAsDataUri) {\n svgAsDataUri = this.convertSvgToDataUri(svg.trim());\n ImageRenderer._svgCache.set(svg, svgAsDataUri);\n }\n\n return (\n <div>\n <Icon iconSpec={svgAsDataUri} />\n </div>\n );\n }\n\n /** Render image from an url */\n private renderUrl(url: string) {\n return <img src={url} alt=\"\" />;\n }\n\n /** Render image as core-react icon */\n private renderCoreIcon(iconName: string) {\n return <WebFontIcon iconName={iconName} />;\n }\n\n /** Replaces the escaped instances of \"\\:\" with \":\" */\n private normalizeEscapedIconString(escapedIconString: string) {\n return escapedIconString.replace(/\\\\:/g, \":\");\n }\n\n /**\n * Extract class and name from icon name, if the name follows format \"{className}:{fontName}\".\n * className and fontName can be escaped using \\ if : is needed.\n */\n private extractIconClassAndName(\n iconName: string\n ): Pick<WebFontIconProps, \"iconClassName\" | \"iconName\"> {\n const matches = iconName.match(/(\\\\.|[^:])+/g);\n if (!matches || matches.length !== 2)\n return {\n iconClassName: undefined,\n iconName,\n };\n\n return {\n iconClassName: this.normalizeEscapedIconString(matches[0]),\n iconName: this.normalizeEscapedIconString(matches[1]),\n };\n }\n\n /**\n * Render image as provided webfont icon.\n * Defaults to core-react icon if iconName does not contain className.\n */\n private renderWebfontIcon(iconName: string) {\n const iconInfo = this.extractIconClassAndName(iconName);\n return <WebFontIcon {...iconInfo} />;\n }\n\n /** Render image from data provided by an image loader */\n public render(loadedImage: Image): React.ReactNode {\n switch (loadedImage.sourceType) {\n case \"binary\":\n const image = loadedImage as LoadedBinaryImage;\n return this.renderBinary(image.value, image.fileFormat);\n\n case \"url\":\n return this.renderUrl((loadedImage as LoadedImage).value);\n\n case \"svg\":\n return this.renderSvg((loadedImage as LoadedImage).value);\n\n case \"core-icon\":\n return this.renderCoreIcon((loadedImage as LoadedImage).value);\n\n case \"webfont-icon\":\n return this.renderWebfontIcon((loadedImage as LoadedImage).value);\n\n default:\n const unhandledSourceType: never = loadedImage.sourceType; // Compile time check that all cases are handled\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiComponents.loggerCategory(this),\n `Can't handle sourceType: \"${unhandledSourceType}\"`\n );\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseContextWithMandatoryProvider.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/UseContextWithMandatoryProvider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,gBAAgB;AAChB,wBAAgB,kCAAkC,CAAC,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB;IACD,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;CAC5C,
|
|
1
|
+
{"version":3,"file":"UseContextWithMandatoryProvider.d.ts","sourceRoot":"","sources":["../../../../src/components-react/common/UseContextWithMandatoryProvider.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,gBAAgB;AAChB,wBAAgB,kCAAkC,CAAC,CAAC,EAClD,WAAW,EAAE,MAAM,GAClB;IACD,KAAK,CAAC,uBAAuB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACrD,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;CAC5C,CAmBA"}
|
|
@@ -19,6 +19,7 @@ function createContextWithMandatoryProvider(contextName) {
|
|
|
19
19
|
const value = react_1.default.useContext(context);
|
|
20
20
|
/* istanbul ignore if */
|
|
21
21
|
if (value === undefined) {
|
|
22
|
+
// eslint-disable-next-line deprecation/deprecation
|
|
22
23
|
throw new appui_abstract_1.UiError(UiComponents_1.UiComponents.loggerCategory(ConsumingComponent), `'${(0, core_react_1.getObjectClassName)(ConsumingComponent)}' expects to be wrapped by a '${contextName}' provider.`);
|
|
23
24
|
}
|
|
24
25
|
return value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseContextWithMandatoryProvider.js","sourceRoot":"","sources":["../../../../src/components-react/common/UseContextWithMandatoryProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;AAEhG,0DAAgD;AAChD,kDAAuD;AACvD,kDAA+C;AAC/C,kDAA0B;AAE1B,gBAAgB;AAChB,SAAgB,kCAAkC,CAChD,WAAmB;IAMnB,MAAM,OAAO,GAAG,eAAK,CAAC,aAAa,CAAI,SAAqB,CAAC,CAAC;IAC9D,SAAS,6BAA6B,CACpC,kBAA0C;QAE1C,MAAM,KAAK,GAAG,eAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,wBAAwB;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,MAAM,IAAI,wBAAO,CACf,2BAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAC/C,IAAI,IAAA,+BAAkB,EACpB,kBAAkB,CACnB,iCAAiC,WAAW,aAAa,CAC3D,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;AAC7E,CAAC;
|
|
1
|
+
{"version":3,"file":"UseContextWithMandatoryProvider.js","sourceRoot":"","sources":["../../../../src/components-react/common/UseContextWithMandatoryProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;AAEhG,0DAAgD;AAChD,kDAAuD;AACvD,kDAA+C;AAC/C,kDAA0B;AAE1B,gBAAgB;AAChB,SAAgB,kCAAkC,CAChD,WAAmB;IAMnB,MAAM,OAAO,GAAG,eAAK,CAAC,aAAa,CAAI,SAAqB,CAAC,CAAC;IAC9D,SAAS,6BAA6B,CACpC,kBAA0C;QAE1C,MAAM,KAAK,GAAG,eAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACxC,wBAAwB;QACxB,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,mDAAmD;YACnD,MAAM,IAAI,wBAAO,CACf,2BAAY,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAC/C,IAAI,IAAA,+BAAkB,EACpB,kBAAkB,CACnB,iCAAiC,WAAW,aAAa,CAC3D,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,6BAA6B,CAAC,CAAC;AAC7E,CAAC;AAzBD,gFAyBC","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 { UiError } from \"@itwin/appui-abstract\";\nimport { getObjectClassName } from \"@itwin/core-react\";\nimport { UiComponents } from \"../UiComponents\";\nimport React from \"react\";\n\n/** @internal */\nexport function createContextWithMandatoryProvider<T>(\n contextName: string\n): [\n React.ProviderExoticComponent<React.ProviderProps<T>>,\n React.ExoticComponent<React.ConsumerProps<T>>,\n <P>(component: React.ComponentType<P>) => T\n] {\n const context = React.createContext<T>(undefined as any as T);\n function useContextWithoutDefaultValue<P>(\n ConsumingComponent: React.ComponentType<P>\n ) {\n const value = React.useContext(context);\n /* istanbul ignore if */\n if (value === undefined) {\n // eslint-disable-next-line deprecation/deprecation\n throw new UiError(\n UiComponents.loggerCategory(ConsumingComponent),\n `'${getObjectClassName(\n ConsumingComponent\n )}' expects to be wrapped by a '${contextName}' provider.`\n );\n }\n return value;\n }\n return [context.Provider, context.Consumer, useContextWithoutDefaultValue];\n}\n"]}
|
|
@@ -7,16 +7,13 @@
|
|
|
7
7
|
|
|
8
8
|
.components-date-input {
|
|
9
9
|
width: auto;
|
|
10
|
+
padding: $uicore-iui-input-padding;
|
|
10
11
|
|
|
11
12
|
&.components-date-has-error {
|
|
12
13
|
color: var(--iui-color-text-negative);
|
|
13
14
|
}
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
padding: $uicore-iui-input-padding;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
&.iui-input[disabled] {
|
|
16
|
+
&[disabled] {
|
|
20
17
|
color: var(--buic-foreground-body);
|
|
21
18
|
opacity: 0.65;
|
|
22
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeField.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/TimeField.tsx"],"names":[],"mappings":"AAIA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"TimeField.d.ts","sourceRoot":"","sources":["../../../../src/components-react/datepicker/TimeField.tsx"],"names":[],"mappings":"AAIA;;GAEG;;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,kBAAkB,CAAC;AAE1B;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,CAAC;IACf,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAwBD;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,YAAY,GACb,EAAE,cAAc,eAmVhB"}
|
|
@@ -29,9 +29,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
29
29
|
__setModuleDefault(result, mod);
|
|
30
30
|
return result;
|
|
31
31
|
};
|
|
32
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
33
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
34
|
+
};
|
|
32
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
36
|
exports.TimeField = void 0;
|
|
34
37
|
const React = __importStar(require("react"));
|
|
38
|
+
const classnames_1 = __importDefault(require("classnames"));
|
|
35
39
|
const ts_key_enum_1 = require("ts-key-enum");
|
|
36
40
|
const itwinui_react_1 = require("@itwin/itwinui-react");
|
|
37
41
|
const UiComponents_1 = require("../UiComponents");
|
|
@@ -279,13 +283,13 @@ function TimeField({ time, timeDisplay, readOnly, onTimeChange, }) {
|
|
|
279
283
|
}, [dayPeriodText, hours, timeSpec, updateTimeSpec]);
|
|
280
284
|
const showSeconds = -1 !== timeDisplay.search(":ss");
|
|
281
285
|
return (React.createElement("div", { "data-testid": "components-time-input", className: "components-time" },
|
|
282
|
-
React.createElement(itwinui_react_1.Input, { className: "components-time-input", onKeyDown: handleHoursOnKeyDown, onBlur: handleHoursOnBlur, onChange: handleHoursChange, value: hoursText, disabled: readOnly, size: "small" }),
|
|
286
|
+
React.createElement(itwinui_react_1.Input, { className: (0, classnames_1.default)("components-time-input", "components-input"), onKeyDown: handleHoursOnKeyDown, onBlur: handleHoursOnBlur, onChange: handleHoursChange, value: hoursText, disabled: readOnly, size: "small" }),
|
|
283
287
|
React.createElement("span", { className: "component-time-separator" }, ":"),
|
|
284
|
-
React.createElement(itwinui_react_1.Input, { className: "components-time-input", onKeyDown: handleMinutesOnKeyDown, onBlur: handleMinutesOnBlur, onChange: handleMinutesChange, value: minutesText, disabled: readOnly, size: "small" }),
|
|
288
|
+
React.createElement(itwinui_react_1.Input, { className: (0, classnames_1.default)("components-time-input", "components-input"), onKeyDown: handleMinutesOnKeyDown, onBlur: handleMinutesOnBlur, onChange: handleMinutesChange, value: minutesText, disabled: readOnly, size: "small" }),
|
|
285
289
|
showSeconds && (React.createElement(React.Fragment, null,
|
|
286
290
|
React.createElement("span", { className: "component-time-separator" }, ":"),
|
|
287
|
-
React.createElement(itwinui_react_1.Input, { className: "components-time-input", onKeyDown: handleSecondsOnKeyDown, onBlur: handleSecondsOnBlur, onChange: handleSecondsChange, value: secondsText, disabled: readOnly, size: "small" }))),
|
|
288
|
-
dayPeriodText && (React.createElement(itwinui_react_1.Input, { className: "components-time-period-input", onKeyDown: handleDayPeriodOnKeyDown, onBlur: handleDayPeriodOnBlur, onChange: handleDayPeriodChange, value: dayPeriodText, disabled: readOnly, size: "small" }))));
|
|
291
|
+
React.createElement(itwinui_react_1.Input, { className: (0, classnames_1.default)("components-time-input", "components-input"), onKeyDown: handleSecondsOnKeyDown, onBlur: handleSecondsOnBlur, onChange: handleSecondsChange, value: secondsText, disabled: readOnly, size: "small" }))),
|
|
292
|
+
dayPeriodText && (React.createElement(itwinui_react_1.Input, { className: (0, classnames_1.default)("components-time-period-input", "components-input"), onKeyDown: handleDayPeriodOnKeyDown, onBlur: handleDayPeriodOnBlur, onChange: handleDayPeriodChange, value: dayPeriodText, disabled: readOnly, size: "small" }))));
|
|
289
293
|
}
|
|
290
294
|
exports.TimeField = TimeField;
|
|
291
295
|
//# sourceMappingURL=TimeField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimeField.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/TimeField.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/** @packageDocumentation\n * @module Date\n */\n\nimport * as React from \"react\";\nimport { Key } from \"ts-key-enum\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport type { TimeDisplay } from \"@itwin/appui-abstract\";\nimport { UiComponents } from \"../UiComponents\";\nimport \"./TimeField.scss\";\n\n/** Interface used to hold 24 hour time in\n * hours, minutes, and seconds.\n * @internal\n */\nexport interface TimeSpec {\n hours: number;\n minutes: number;\n seconds: number;\n}\n\n/** Interface for props used by [[TimeField]] component.\n * @internal\n */\nexport interface TimeFieldProps {\n time: TimeSpec;\n timeDisplay: TimeDisplay;\n onTimeChange?: (time: TimeSpec) => void;\n readOnly?: boolean;\n}\n\nfunction getValidInt(\n intText: string,\n min: number,\n max: number,\n defaultValue: number\n) {\n try {\n const newValue = parseInt(intText, 10);\n if (newValue >= min && newValue <= max) return newValue;\n } catch (_e) {\n // istanbul ignore next\n return defaultValue;\n }\n return defaultValue;\n}\n\nfunction isSameTime(a: TimeSpec, b: TimeSpec) {\n return (\n a.hours === b.hours && a.minutes === b.minutes && a.seconds === b.seconds\n );\n}\n\n/** Field used to set the Hour:Minutes:Seconds in the [[DatePicker]] Popup panel. The user may key-in the value or use up/down keys to\n * change the time.\n * @internal\n */\nexport function TimeField({\n time,\n timeDisplay,\n readOnly,\n onTimeChange,\n}: TimeFieldProps) {\n const initialDateRef = React.useRef(time);\n const amLabelRef = React.useRef(\n UiComponents.translate(\"timepicker.day-period-am\")\n );\n const pmLabelRef = React.useRef(\n UiComponents.translate(\"timepicker.day-period-pm\")\n );\n const [timeSpec, setTimeSpec] = React.useState(time);\n const { hours, minutes, seconds } = timeSpec;\n const showDayPeriod = -1 !== (timeDisplay as string).search(\"aa\");\n\n const getDisplayHours = React.useCallback(\n (timeHours: number) => {\n if (!showDayPeriod) {\n return timeHours;\n }\n const outHours =\n 0 === timeHours ? 12 : timeHours > 12 ? timeHours - 12 : timeHours;\n return outHours;\n },\n [showDayPeriod]\n );\n\n // See if new initialDate props have changed since component mounted\n React.useEffect(() => {\n if (!isSameTime(time, initialDateRef.current)) {\n setTimeSpec(time);\n initialDateRef.current = time;\n }\n }, [time]);\n\n const displayHour = getDisplayHours(hours);\n const [dayPeriodText, setDayPeriodText] = React.useState(\n showDayPeriod\n ? hours >= 12\n ? pmLabelRef.current\n : amLabelRef.current\n : undefined\n );\n const [hoursText, setHoursText] = React.useState(\n displayHour.toString().padStart(2, \"0\")\n );\n const [minutesText, setMinutesText] = React.useState(\n minutes.toString().padStart(2, \"0\")\n );\n const [secondsText, setSecondsText] = React.useState(\n seconds.toString().padStart(2, \"0\")\n );\n\n const updateTimeSpec = React.useCallback(\n (newTime: TimeSpec) => {\n if (\n newTime.hours !== timeSpec.hours ||\n newTime.minutes !== timeSpec.minutes ||\n newTime.seconds !== timeSpec.seconds\n ) {\n setTimeSpec(newTime);\n onTimeChange && onTimeChange(newTime);\n }\n },\n [onTimeChange, timeSpec.hours, timeSpec.minutes, timeSpec.seconds]\n );\n\n const handleHoursChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setHoursText(event.currentTarget.value);\n },\n []\n );\n\n const handleMinutesChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setMinutesText(event.currentTarget.value);\n },\n []\n );\n const handleSecondsChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setSecondsText(event.currentTarget.value);\n },\n []\n );\n const handleDayPeriodChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setDayPeriodText(event.currentTarget.value);\n },\n []\n );\n\n const handleHoursOnBlur = React.useCallback(() => {\n const newHours = getValidInt(hoursText, 0, 24, hours);\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod &&\n setDayPeriodText(\n newHours >= 12 ? pmLabelRef.current : amLabelRef.current\n );\n }, [\n getDisplayHours,\n hours,\n hoursText,\n showDayPeriod,\n timeSpec,\n updateTimeSpec,\n ]);\n const handleMinutesOnBlur = React.useCallback(() => {\n const newMinutes = getValidInt(minutesText, 0, 59, minutes);\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n }, [minutes, minutesText, timeSpec, updateTimeSpec]);\n const handleSecondsOnBlur = React.useCallback(() => {\n const newSeconds = getValidInt(secondsText, 0, 59, seconds);\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n }, [seconds, secondsText, timeSpec, updateTimeSpec]);\n const handleDayPeriodOnBlur = React.useCallback(() => {\n let newPeriodText: string | undefined;\n // istanbul ignore else\n if (\n dayPeriodText === \"AM\" ||\n dayPeriodText === \"am\" ||\n dayPeriodText === amLabelRef.current\n )\n newPeriodText = amLabelRef.current;\n else if (\n dayPeriodText === \"PM\" ||\n dayPeriodText === \"pm\" ||\n dayPeriodText === pmLabelRef.current\n )\n newPeriodText = pmLabelRef.current;\n\n // istanbul ignore else\n if (undefined !== newPeriodText) {\n setDayPeriodText(newPeriodText);\n if (newPeriodText === amLabelRef.current && hours > 12) {\n updateTimeSpec({ ...timeSpec, hours: hours - 12 });\n } else if (newPeriodText === pmLabelRef.current && hours <= 11) {\n updateTimeSpec({ ...timeSpec, hours: hours + 12 });\n }\n }\n }, [dayPeriodText, hours, timeSpec, updateTimeSpec]);\n\n const handleHoursOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === Key.ArrowDown || event.key === Key.ArrowUp) {\n let newHours = hours + (event.key === Key.ArrowDown ? -1 : 1);\n if (newHours < 0) newHours = 24;\n if (newHours > 24 || (newHours > 23 && minutes + seconds > 0))\n newHours = 0;\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod &&\n setDayPeriodText(\n newHours >= 12 ? pmLabelRef.current : amLabelRef.current\n );\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n const newHours = getValidInt(hoursText, 0, 24, hours);\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod &&\n setDayPeriodText(\n newHours >= 12 ? pmLabelRef.current : amLabelRef.current\n );\n event.preventDefault();\n }\n },\n [\n getDisplayHours,\n hours,\n hoursText,\n minutes,\n seconds,\n showDayPeriod,\n timeSpec,\n updateTimeSpec,\n ]\n );\n\n const handleMinutesOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === Key.ArrowDown) {\n const newMinutes = minutes === 0 ? 59 : minutes - 1;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else if (event.key === Key.ArrowUp) {\n const newMinutes = minutes === 59 ? 0 : minutes + 1;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else if (event.key === Key.Home || event.key === Key.End) {\n const newMinutes = event.key === Key.Home ? 0 : 59;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n const newMinutes = getValidInt(minutesText, 0, 59, minutes);\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n }\n },\n [minutesText, minutes, timeSpec, updateTimeSpec]\n );\n\n const handleSecondsOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === Key.ArrowDown) {\n const newSeconds = seconds === 0 ? 59 : seconds - 1;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === Key.ArrowUp) {\n const newSeconds = seconds === 59 ? 0 : seconds + 1;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === Key.Home || event.key === Key.End) {\n const newSeconds = event.key === Key.Home ? 0 : 59;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n const newSeconds = getValidInt(secondsText, 0, 59, seconds);\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n }\n },\n [seconds, secondsText, timeSpec, updateTimeSpec]\n );\n\n const handleDayPeriodOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n let newPeriodText: string | undefined;\n // istanbul ignore else\n if (\n event.key === Key.ArrowDown ||\n event.key === Key.Home ||\n event.key === \"a\" ||\n event.key === \"A\"\n ) {\n newPeriodText = amLabelRef.current;\n event.preventDefault();\n } else if (\n event.key === Key.ArrowUp ||\n event.key === Key.End ||\n event.key === \"p\" ||\n event.key === \"P\"\n ) {\n newPeriodText = pmLabelRef.current;\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n if (\n dayPeriodText === \"AM\" ||\n dayPeriodText === \"am\" ||\n dayPeriodText === amLabelRef.current\n )\n newPeriodText = amLabelRef.current;\n else if (\n dayPeriodText === \"PM\" ||\n dayPeriodText === \"pm\" ||\n dayPeriodText === pmLabelRef.current\n )\n newPeriodText = pmLabelRef.current;\n event.preventDefault();\n }\n // istanbul ignore else\n if (undefined !== newPeriodText) {\n setDayPeriodText(newPeriodText);\n /* istanbul ignore else */\n if (newPeriodText === amLabelRef.current && hours > 12) {\n updateTimeSpec({ ...timeSpec, hours: hours - 12 });\n } else if (newPeriodText === pmLabelRef.current && hours <= 11) {\n updateTimeSpec({ ...timeSpec, hours: hours + 12 });\n }\n }\n },\n [dayPeriodText, hours, timeSpec, updateTimeSpec]\n );\n\n const showSeconds = -1 !== (timeDisplay as string).search(\":ss\");\n\n return (\n <div data-testid=\"components-time-input\" className=\"components-time\">\n <Input\n className=\"components-time-input\"\n onKeyDown={handleHoursOnKeyDown}\n onBlur={handleHoursOnBlur}\n onChange={handleHoursChange}\n value={hoursText}\n disabled={readOnly}\n size=\"small\"\n />\n <span className=\"component-time-separator\">:</span>\n <Input\n className=\"components-time-input\"\n onKeyDown={handleMinutesOnKeyDown}\n onBlur={handleMinutesOnBlur}\n onChange={handleMinutesChange}\n value={minutesText}\n disabled={readOnly}\n size=\"small\"\n />\n {showSeconds && (\n <>\n <span className=\"component-time-separator\">:</span>\n <Input\n className=\"components-time-input\"\n onKeyDown={handleSecondsOnKeyDown}\n onBlur={handleSecondsOnBlur}\n onChange={handleSecondsChange}\n value={secondsText}\n disabled={readOnly}\n size=\"small\"\n />\n </>\n )}\n {dayPeriodText && (\n <Input\n className=\"components-time-period-input\"\n onKeyDown={handleDayPeriodOnKeyDown}\n onBlur={handleDayPeriodOnBlur}\n onChange={handleDayPeriodChange}\n value={dayPeriodText}\n disabled={readOnly}\n size=\"small\"\n />\n )}\n </div>\n );\n}\n"]}
|
|
1
|
+
{"version":3,"file":"TimeField.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/TimeField.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/** @packageDocumentation\n * @module Date\n */\n\nimport * as React from \"react\";\nimport classnames from \"classnames\";\nimport { Key } from \"ts-key-enum\";\nimport { Input } from \"@itwin/itwinui-react\";\nimport type { TimeDisplay } from \"@itwin/appui-abstract\";\nimport { UiComponents } from \"../UiComponents\";\nimport \"./TimeField.scss\";\n\n/** Interface used to hold 24 hour time in\n * hours, minutes, and seconds.\n * @internal\n */\nexport interface TimeSpec {\n hours: number;\n minutes: number;\n seconds: number;\n}\n\n/** Interface for props used by [[TimeField]] component.\n * @internal\n */\nexport interface TimeFieldProps {\n time: TimeSpec;\n timeDisplay: TimeDisplay;\n onTimeChange?: (time: TimeSpec) => void;\n readOnly?: boolean;\n}\n\nfunction getValidInt(\n intText: string,\n min: number,\n max: number,\n defaultValue: number\n) {\n try {\n const newValue = parseInt(intText, 10);\n if (newValue >= min && newValue <= max) return newValue;\n } catch (_e) {\n // istanbul ignore next\n return defaultValue;\n }\n return defaultValue;\n}\n\nfunction isSameTime(a: TimeSpec, b: TimeSpec) {\n return (\n a.hours === b.hours && a.minutes === b.minutes && a.seconds === b.seconds\n );\n}\n\n/** Field used to set the Hour:Minutes:Seconds in the [[DatePicker]] Popup panel. The user may key-in the value or use up/down keys to\n * change the time.\n * @internal\n */\nexport function TimeField({\n time,\n timeDisplay,\n readOnly,\n onTimeChange,\n}: TimeFieldProps) {\n const initialDateRef = React.useRef(time);\n const amLabelRef = React.useRef(\n UiComponents.translate(\"timepicker.day-period-am\")\n );\n const pmLabelRef = React.useRef(\n UiComponents.translate(\"timepicker.day-period-pm\")\n );\n const [timeSpec, setTimeSpec] = React.useState(time);\n const { hours, minutes, seconds } = timeSpec;\n const showDayPeriod = -1 !== (timeDisplay as string).search(\"aa\");\n\n const getDisplayHours = React.useCallback(\n (timeHours: number) => {\n if (!showDayPeriod) {\n return timeHours;\n }\n const outHours =\n 0 === timeHours ? 12 : timeHours > 12 ? timeHours - 12 : timeHours;\n return outHours;\n },\n [showDayPeriod]\n );\n\n // See if new initialDate props have changed since component mounted\n React.useEffect(() => {\n if (!isSameTime(time, initialDateRef.current)) {\n setTimeSpec(time);\n initialDateRef.current = time;\n }\n }, [time]);\n\n const displayHour = getDisplayHours(hours);\n const [dayPeriodText, setDayPeriodText] = React.useState(\n showDayPeriod\n ? hours >= 12\n ? pmLabelRef.current\n : amLabelRef.current\n : undefined\n );\n const [hoursText, setHoursText] = React.useState(\n displayHour.toString().padStart(2, \"0\")\n );\n const [minutesText, setMinutesText] = React.useState(\n minutes.toString().padStart(2, \"0\")\n );\n const [secondsText, setSecondsText] = React.useState(\n seconds.toString().padStart(2, \"0\")\n );\n\n const updateTimeSpec = React.useCallback(\n (newTime: TimeSpec) => {\n if (\n newTime.hours !== timeSpec.hours ||\n newTime.minutes !== timeSpec.minutes ||\n newTime.seconds !== timeSpec.seconds\n ) {\n setTimeSpec(newTime);\n onTimeChange && onTimeChange(newTime);\n }\n },\n [onTimeChange, timeSpec.hours, timeSpec.minutes, timeSpec.seconds]\n );\n\n const handleHoursChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setHoursText(event.currentTarget.value);\n },\n []\n );\n\n const handleMinutesChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setMinutesText(event.currentTarget.value);\n },\n []\n );\n const handleSecondsChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setSecondsText(event.currentTarget.value);\n },\n []\n );\n const handleDayPeriodChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n setDayPeriodText(event.currentTarget.value);\n },\n []\n );\n\n const handleHoursOnBlur = React.useCallback(() => {\n const newHours = getValidInt(hoursText, 0, 24, hours);\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod &&\n setDayPeriodText(\n newHours >= 12 ? pmLabelRef.current : amLabelRef.current\n );\n }, [\n getDisplayHours,\n hours,\n hoursText,\n showDayPeriod,\n timeSpec,\n updateTimeSpec,\n ]);\n const handleMinutesOnBlur = React.useCallback(() => {\n const newMinutes = getValidInt(minutesText, 0, 59, minutes);\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n }, [minutes, minutesText, timeSpec, updateTimeSpec]);\n const handleSecondsOnBlur = React.useCallback(() => {\n const newSeconds = getValidInt(secondsText, 0, 59, seconds);\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n }, [seconds, secondsText, timeSpec, updateTimeSpec]);\n const handleDayPeriodOnBlur = React.useCallback(() => {\n let newPeriodText: string | undefined;\n // istanbul ignore else\n if (\n dayPeriodText === \"AM\" ||\n dayPeriodText === \"am\" ||\n dayPeriodText === amLabelRef.current\n )\n newPeriodText = amLabelRef.current;\n else if (\n dayPeriodText === \"PM\" ||\n dayPeriodText === \"pm\" ||\n dayPeriodText === pmLabelRef.current\n )\n newPeriodText = pmLabelRef.current;\n\n // istanbul ignore else\n if (undefined !== newPeriodText) {\n setDayPeriodText(newPeriodText);\n if (newPeriodText === amLabelRef.current && hours > 12) {\n updateTimeSpec({ ...timeSpec, hours: hours - 12 });\n } else if (newPeriodText === pmLabelRef.current && hours <= 11) {\n updateTimeSpec({ ...timeSpec, hours: hours + 12 });\n }\n }\n }, [dayPeriodText, hours, timeSpec, updateTimeSpec]);\n\n const handleHoursOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === Key.ArrowDown || event.key === Key.ArrowUp) {\n let newHours = hours + (event.key === Key.ArrowDown ? -1 : 1);\n if (newHours < 0) newHours = 24;\n if (newHours > 24 || (newHours > 23 && minutes + seconds > 0))\n newHours = 0;\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod &&\n setDayPeriodText(\n newHours >= 12 ? pmLabelRef.current : amLabelRef.current\n );\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n const newHours = getValidInt(hoursText, 0, 24, hours);\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod &&\n setDayPeriodText(\n newHours >= 12 ? pmLabelRef.current : amLabelRef.current\n );\n event.preventDefault();\n }\n },\n [\n getDisplayHours,\n hours,\n hoursText,\n minutes,\n seconds,\n showDayPeriod,\n timeSpec,\n updateTimeSpec,\n ]\n );\n\n const handleMinutesOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === Key.ArrowDown) {\n const newMinutes = minutes === 0 ? 59 : minutes - 1;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else if (event.key === Key.ArrowUp) {\n const newMinutes = minutes === 59 ? 0 : minutes + 1;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else if (event.key === Key.Home || event.key === Key.End) {\n const newMinutes = event.key === Key.Home ? 0 : 59;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n const newMinutes = getValidInt(minutesText, 0, 59, minutes);\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n }\n },\n [minutesText, minutes, timeSpec, updateTimeSpec]\n );\n\n const handleSecondsOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === Key.ArrowDown) {\n const newSeconds = seconds === 0 ? 59 : seconds - 1;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === Key.ArrowUp) {\n const newSeconds = seconds === 59 ? 0 : seconds + 1;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === Key.Home || event.key === Key.End) {\n const newSeconds = event.key === Key.Home ? 0 : 59;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n const newSeconds = getValidInt(secondsText, 0, 59, seconds);\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n }\n },\n [seconds, secondsText, timeSpec, updateTimeSpec]\n );\n\n const handleDayPeriodOnKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLInputElement>) => {\n let newPeriodText: string | undefined;\n // istanbul ignore else\n if (\n event.key === Key.ArrowDown ||\n event.key === Key.Home ||\n event.key === \"a\" ||\n event.key === \"A\"\n ) {\n newPeriodText = amLabelRef.current;\n event.preventDefault();\n } else if (\n event.key === Key.ArrowUp ||\n event.key === Key.End ||\n event.key === \"p\" ||\n event.key === \"P\"\n ) {\n newPeriodText = pmLabelRef.current;\n event.preventDefault();\n } else if (event.key === Key.Enter) {\n if (\n dayPeriodText === \"AM\" ||\n dayPeriodText === \"am\" ||\n dayPeriodText === amLabelRef.current\n )\n newPeriodText = amLabelRef.current;\n else if (\n dayPeriodText === \"PM\" ||\n dayPeriodText === \"pm\" ||\n dayPeriodText === pmLabelRef.current\n )\n newPeriodText = pmLabelRef.current;\n event.preventDefault();\n }\n // istanbul ignore else\n if (undefined !== newPeriodText) {\n setDayPeriodText(newPeriodText);\n /* istanbul ignore else */\n if (newPeriodText === amLabelRef.current && hours > 12) {\n updateTimeSpec({ ...timeSpec, hours: hours - 12 });\n } else if (newPeriodText === pmLabelRef.current && hours <= 11) {\n updateTimeSpec({ ...timeSpec, hours: hours + 12 });\n }\n }\n },\n [dayPeriodText, hours, timeSpec, updateTimeSpec]\n );\n\n const showSeconds = -1 !== (timeDisplay as string).search(\":ss\");\n\n return (\n <div data-testid=\"components-time-input\" className=\"components-time\">\n <Input\n className={classnames(\"components-time-input\", \"components-input\")}\n onKeyDown={handleHoursOnKeyDown}\n onBlur={handleHoursOnBlur}\n onChange={handleHoursChange}\n value={hoursText}\n disabled={readOnly}\n size=\"small\"\n />\n <span className=\"component-time-separator\">:</span>\n <Input\n className={classnames(\"components-time-input\", \"components-input\")}\n onKeyDown={handleMinutesOnKeyDown}\n onBlur={handleMinutesOnBlur}\n onChange={handleMinutesChange}\n value={minutesText}\n disabled={readOnly}\n size=\"small\"\n />\n {showSeconds && (\n <>\n <span className=\"component-time-separator\">:</span>\n <Input\n className={classnames(\"components-time-input\", \"components-input\")}\n onKeyDown={handleSecondsOnKeyDown}\n onBlur={handleSecondsOnBlur}\n onChange={handleSecondsChange}\n value={secondsText}\n disabled={readOnly}\n size=\"small\"\n />\n </>\n )}\n {dayPeriodText && (\n <Input\n className={classnames(\n \"components-time-period-input\",\n \"components-input\"\n )}\n onKeyDown={handleDayPeriodOnKeyDown}\n onBlur={handleDayPeriodOnBlur}\n onChange={handleDayPeriodChange}\n value={dayPeriodText}\n disabled={readOnly}\n size=\"small\"\n />\n )}\n </div>\n );\n}\n"]}
|
|
@@ -27,11 +27,8 @@
|
|
|
27
27
|
border: none;
|
|
28
28
|
box-shadow: none;
|
|
29
29
|
margin: 0;
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
padding-left: 0;
|
|
33
|
-
padding-right: 0;
|
|
34
|
-
}
|
|
30
|
+
padding-left: 0;
|
|
31
|
+
padding-right: 0;
|
|
35
32
|
|
|
36
33
|
&:focus {
|
|
37
34
|
outline: 0px;
|
|
@@ -70,7 +67,7 @@
|
|
|
70
67
|
padding: 0 1px;
|
|
71
68
|
}
|
|
72
69
|
|
|
73
|
-
.
|
|
70
|
+
.components-input {
|
|
74
71
|
padding: $uicore-iui-input-padding;
|
|
75
72
|
}
|
|
76
73
|
}
|
|
@@ -134,7 +134,7 @@ class BooleanEditor extends React.PureComponent {
|
|
|
134
134
|
const className = (0, classnames_1.default)("components-cell-editor", "components-boolean-editor", this.props.className);
|
|
135
135
|
const checked = this.state.checkboxValue;
|
|
136
136
|
const isDisabled = !!this.state.isDisabled;
|
|
137
|
-
return (React.createElement(itwinui_react_1.Checkbox, { ref: this._inputElement, onBlur: this.props.onBlur, className: className, style: this.props.style, checked: checked, onChange: this._updateCheckboxValue,
|
|
137
|
+
return (React.createElement(itwinui_react_1.Checkbox, { ref: this._inputElement, onBlur: this.props.onBlur, className: className, style: this.props.style, checked: checked, onChange: this._updateCheckboxValue, autoFocus: this.props.setFocus, disabled: isDisabled, "data-testid": "components-checkbox-editor" }));
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
exports.BooleanEditor = BooleanEditor;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/BooleanEditor.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BooleanEditor.js","sourceRoot":"","sources":["../../../../src/components-react/editors/BooleanEditor.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/** @packageDocumentation\n * @module PropertyEditors\n */\n\nimport \"./BooleanEditor.scss\";\nimport classnames from \"classnames\";\nimport * as React from \"react\";\nimport type { PropertyValue } from \"@itwin/appui-abstract\";\nimport { PropertyValueFormat, StandardTypeNames } from \"@itwin/appui-abstract\";\nimport { Checkbox } from \"@itwin/itwinui-react\";\nimport type { PropertyEditorProps, TypeEditor } from \"./EditorContainer\";\nimport {\n PropertyEditorBase,\n PropertyEditorManager,\n} from \"./PropertyEditorManager\";\n\n/** @internal */\ninterface BooleanEditorState {\n checkboxValue: boolean;\n isDisabled?: boolean;\n}\n\n/** BooleanEditor React component that is a property editor with checkbox input\n * @public\n */\nexport class BooleanEditor\n extends React.PureComponent<PropertyEditorProps, BooleanEditorState>\n implements TypeEditor\n{\n private _isMounted = false;\n private _inputElement = React.createRef<HTMLInputElement>();\n\n /** @internal */\n public override readonly state: Readonly<BooleanEditorState> = {\n checkboxValue: false,\n isDisabled: false,\n };\n\n public async getPropertyValue(): Promise<PropertyValue | undefined> {\n return this.getPropertyValueSync();\n }\n\n private getPropertyValueSync(): PropertyValue | undefined {\n const record = this.props.propertyRecord;\n let propertyValue: PropertyValue | undefined;\n\n // istanbul ignore else\n if (record && record.value.valueFormat === PropertyValueFormat.Primitive) {\n propertyValue = {\n valueFormat: PropertyValueFormat.Primitive,\n value: this.state.checkboxValue,\n displayValue: \"\",\n };\n }\n\n return propertyValue;\n }\n\n public get htmlElement(): HTMLElement | null {\n return this._inputElement.current;\n }\n\n public get hasFocus(): boolean {\n return document.activeElement === this._inputElement.current;\n }\n\n private _updateCheckboxValue = (e: React.ChangeEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (this._isMounted) {\n const checkboxValue = !!e.target.checked;\n\n this.setState(\n {\n checkboxValue,\n },\n () => {\n // istanbul ignore else\n if (this.props.propertyRecord && this.props.onCommit) {\n const propertyValue = this.getPropertyValueSync();\n // istanbul ignore else\n if (propertyValue !== undefined) {\n this.props.onCommit({\n propertyRecord: this.props.propertyRecord,\n newValue: propertyValue,\n });\n }\n }\n }\n );\n }\n };\n\n /** @internal */\n public override componentDidMount() {\n this._isMounted = true;\n this.setStateFromProps();\n }\n\n /** @internal */\n public override componentWillUnmount() {\n this._isMounted = false;\n }\n\n /** @internal */\n public override componentDidUpdate(prevProps: PropertyEditorProps) {\n if (this.props.propertyRecord !== prevProps.propertyRecord) {\n this.setStateFromProps();\n }\n }\n\n private setStateFromProps() {\n const { propertyRecord } = this.props;\n let checkboxValue = false;\n let isDisabled = false;\n\n // istanbul ignore else\n if (\n propertyRecord &&\n propertyRecord.value.valueFormat === PropertyValueFormat.Primitive\n ) {\n const primitiveValue = propertyRecord.value.value;\n checkboxValue = primitiveValue as boolean;\n }\n\n // istanbul ignore else\n if (propertyRecord && propertyRecord.isDisabled)\n isDisabled = propertyRecord.isDisabled;\n\n // istanbul ignore else\n if (this._isMounted) this.setState({ checkboxValue, isDisabled });\n }\n\n /** @internal */\n public override render() {\n const className = classnames(\n \"components-cell-editor\",\n \"components-boolean-editor\",\n this.props.className\n );\n const checked = this.state.checkboxValue;\n const isDisabled = !!this.state.isDisabled;\n\n return (\n <Checkbox\n ref={this._inputElement}\n onBlur={this.props.onBlur}\n className={className}\n style={this.props.style}\n checked={checked}\n onChange={this._updateCheckboxValue}\n autoFocus={this.props.setFocus} // eslint-disable-line jsx-a11y/no-autofocus\n disabled={isDisabled}\n data-testid=\"components-checkbox-editor\"\n ></Checkbox>\n );\n }\n}\n\n/** Boolean Property Editor registered for the \"bool\" and \"boolean\" type names.\n * It uses the [[BooleanEditor]] React component.\n * @public\n */\nexport class BooleanPropertyEditor extends PropertyEditorBase {\n // istanbul ignore next\n public override get containerHandlesBlur(): boolean {\n return false;\n }\n\n public get reactNode(): React.ReactNode {\n return <BooleanEditor />;\n }\n}\n\nPropertyEditorManager.registerEditor(\n StandardTypeNames.Bool,\n BooleanPropertyEditor\n);\nPropertyEditorManager.registerEditor(\n StandardTypeNames.Boolean,\n BooleanPropertyEditor\n);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomNumberEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/CustomNumberEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAOV,aAAa,EACd,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomNumberEditor.d.ts","sourceRoot":"","sources":["../../../../src/components-react/editors/CustomNumberEditor.tsx"],"names":[],"mappings":"AAIA;;GAEG;AAIH,OAAO,2BAA2B,CAAC;AAEnC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAOV,aAAa,EACd,MAAM,uBAAuB,CAAC;AAe/B,OAAO,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,gBAAgB;AAChB,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,kBACX,SAAQ,KAAK,CAAC,aAAa,CAAC,mBAAmB,EAAE,uBAAuB,CACxE,YAAW,UAAU;IAErB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,eAAe,CAA4B;IAEnD,gBAAgB;IAChB,SAAyB,KAAK,EAAE,QAAQ,CAAC,uBAAuB,CAAC,CAE/D;IAEW,gBAAgB,IAAI,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IA2EnE,IAAW,WAAW,IAAI,WAAW,GAAG,IAAI,CAE3C;IAED,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,iBAAiB,CAEvB;IAEF,gBAAgB;IACA,iBAAiB;IAKjC,gBAAgB;IACA,oBAAoB;IAIpC,gBAAgB;IACA,kBAAkB,CAAC,SAAS,EAAE,mBAAmB;IAMjE,OAAO,CAAC,uBAAuB;YA0BjB,iBAAiB;IA6E/B,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,WAAW,CAqBjB;IAGF,OAAO,CAAC,QAAQ,CAEd;IAEF,gBAAgB;IACA,MAAM,IAAI,KAAK,CAAC,SAAS;CAwD1C;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,kBAAkB;IAChE,IAAW,SAAS,IAAI,KAAK,CAAC,SAAS,CAEtC;IACD,IAAoB,sBAAsB,IAAI,OAAO,CAEpD;CACF"}
|
|
@@ -288,7 +288,7 @@ class CustomNumberEditor extends React.PureComponent {
|
|
|
288
288
|
onChange: this._updateInputValue,
|
|
289
289
|
onBlur: this.props.onBlur,
|
|
290
290
|
onFocus: this._onFocus,
|
|
291
|
-
|
|
291
|
+
autoFocus: this.shouldSetFocus(),
|
|
292
292
|
onKeyDown: this._onKeyPress,
|
|
293
293
|
};
|
|
294
294
|
let reactNode;
|