@itwin/components-react 3.0.0-dev.82 → 3.0.0-dev.86

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 (528) hide show
  1. package/CHANGELOG.md +1362 -1362
  2. package/README.md +11 -11
  3. package/lib/cjs/components-react/UiComponents.js.map +1 -1
  4. package/lib/cjs/components-react/_target.scss +9 -9
  5. package/lib/cjs/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  6. package/lib/cjs/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  7. package/lib/cjs/components-react/breadcrumb/Breadcrumb.scss +196 -196
  8. package/lib/cjs/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  9. package/lib/cjs/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  10. package/lib/cjs/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  11. package/lib/cjs/components-react/common/DateUtils.js.map +1 -1
  12. package/lib/cjs/components-react/common/DelayedSpinner.js.map +1 -1
  13. package/lib/cjs/components-react/common/HighlightedText.js.map +1 -1
  14. package/lib/cjs/components-react/common/HighlightingComponentProps.js.map +1 -1
  15. package/lib/cjs/components-react/common/IImageLoader.js.map +1 -1
  16. package/lib/cjs/components-react/common/ImageRenderer.js.map +1 -1
  17. package/lib/cjs/components-react/common/Links.js.map +1 -1
  18. package/lib/cjs/components-react/common/PageOptions.js.map +1 -1
  19. package/lib/cjs/components-react/common/SubscriptionScheduler.js.map +1 -1
  20. package/lib/cjs/components-react/common/UseAsyncValue.js.map +1 -1
  21. package/lib/cjs/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  22. package/lib/cjs/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  23. package/lib/cjs/components-react/common/UseRerender.js.map +1 -1
  24. package/lib/cjs/components-react/common/countMatchesInString.js.map +1 -1
  25. package/lib/cjs/components-react/common/selection/SelectionHandler.js.map +1 -1
  26. package/lib/cjs/components-react/common/selection/SelectionModes.js.map +1 -1
  27. package/lib/cjs/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  28. package/lib/cjs/components-react/common/showhide/ShowHideItem.js.map +1 -1
  29. package/lib/cjs/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  30. package/lib/cjs/components-react/converters/BooleanTypeConverter.js.map +1 -1
  31. package/lib/cjs/components-react/converters/CompositeTypeConverter.js.map +1 -1
  32. package/lib/cjs/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  33. package/lib/cjs/components-react/converters/EnumTypeConverter.js.map +1 -1
  34. package/lib/cjs/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  35. package/lib/cjs/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  36. package/lib/cjs/components-react/converters/NumericTypeConverter.js.map +1 -1
  37. package/lib/cjs/components-react/converters/PointTypeConverter.js.map +1 -1
  38. package/lib/cjs/components-react/converters/StringTypeConverter.js.map +1 -1
  39. package/lib/cjs/components-react/converters/TypeConverter.js.map +1 -1
  40. package/lib/cjs/components-react/converters/TypeConverterManager.js.map +1 -1
  41. package/lib/cjs/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  42. package/lib/cjs/components-react/datepicker/DateField.js.map +1 -1
  43. package/lib/cjs/components-react/datepicker/DateField.scss +22 -22
  44. package/lib/cjs/components-react/datepicker/DatePicker.js.map +1 -1
  45. package/lib/cjs/components-react/datepicker/DatePicker.scss +170 -170
  46. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  47. package/lib/cjs/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  48. package/lib/cjs/components-react/datepicker/IntlFormatter.js.map +1 -1
  49. package/lib/cjs/components-react/datepicker/TimeField.js.map +1 -1
  50. package/lib/cjs/components-react/datepicker/TimeField.scss +73 -73
  51. package/lib/cjs/components-react/editors/BooleanEditor.js.map +1 -1
  52. package/lib/cjs/components-react/editors/BooleanEditor.scss +24 -24
  53. package/lib/cjs/components-react/editors/CustomNumberEditor.js.map +1 -1
  54. package/lib/cjs/components-react/editors/CustomNumberEditor.scss +21 -21
  55. package/lib/cjs/components-react/editors/DateTimeEditor.js.map +1 -1
  56. package/lib/cjs/components-react/editors/DateTimeEditor.scss +9 -9
  57. package/lib/cjs/components-react/editors/EditorContainer.js.map +1 -1
  58. package/lib/cjs/components-react/editors/EditorContainer.scss +6 -6
  59. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  60. package/lib/cjs/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  61. package/lib/cjs/components-react/editors/EnumEditor.js.map +1 -1
  62. package/lib/cjs/components-react/editors/EnumEditor.scss +22 -22
  63. package/lib/cjs/components-react/editors/IconEditor.js.map +1 -1
  64. package/lib/cjs/components-react/editors/IconEditor.scss +16 -16
  65. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  66. package/lib/cjs/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  67. package/lib/cjs/components-react/editors/NumericInputEditor.js.map +1 -1
  68. package/lib/cjs/components-react/editors/NumericInputEditor.scss +17 -17
  69. package/lib/cjs/components-react/editors/PopupButton.js.map +1 -1
  70. package/lib/cjs/components-react/editors/PopupButton.scss +119 -119
  71. package/lib/cjs/components-react/editors/PropertyEditorManager.js.map +1 -1
  72. package/lib/cjs/components-react/editors/SliderEditor.js.map +1 -1
  73. package/lib/cjs/components-react/editors/SliderEditor.scss +13 -13
  74. package/lib/cjs/components-react/editors/TextEditor.js.map +1 -1
  75. package/lib/cjs/components-react/editors/TextEditor.scss +21 -21
  76. package/lib/cjs/components-react/editors/TextareaEditor.js.map +1 -1
  77. package/lib/cjs/components-react/editors/TextareaEditor.scss +14 -14
  78. package/lib/cjs/components-react/editors/ThemedEnumEditor.js.map +1 -1
  79. package/lib/cjs/components-react/editors/ThemedEnumEditor.scss +82 -82
  80. package/lib/cjs/components-react/editors/ToggleEditor.js.map +1 -1
  81. package/lib/cjs/components-react/editors/ToggleEditor.scss +25 -25
  82. package/lib/cjs/components-react/editors/variables.scss +6 -6
  83. package/lib/cjs/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  84. package/lib/cjs/components-react/favorite/FavoritePropertyList.js.map +1 -1
  85. package/lib/cjs/components-react/filtering/FilteringInput.js.map +1 -1
  86. package/lib/cjs/components-react/filtering/FilteringInput.scss +68 -68
  87. package/lib/cjs/components-react/filtering/ResultSelector.js.map +1 -1
  88. package/lib/cjs/components-react/filtering/ResultSelector.scss +72 -72
  89. package/lib/cjs/components-react/iconpicker/IconPickerButton.js.map +1 -1
  90. package/lib/cjs/components-react/iconpicker/IconPickerButton.scss +74 -74
  91. package/lib/cjs/components-react/inputs/ParsedInput.js.map +1 -1
  92. package/lib/cjs/components-react/inputs/ParsedInput.scss +23 -23
  93. package/lib/cjs/components-react/properties/ItemStyle.js.map +1 -1
  94. package/lib/cjs/components-react/properties/LinkHandler.js.map +1 -1
  95. package/lib/cjs/components-react/properties/ValueRendererManager.js.map +1 -1
  96. package/lib/cjs/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  97. package/lib/cjs/components-react/properties/renderers/ActionButtonList.scss +25 -25
  98. package/lib/cjs/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  99. package/lib/cjs/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  100. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  101. package/lib/cjs/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  102. package/lib/cjs/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  103. package/lib/cjs/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  104. package/lib/cjs/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  105. package/lib/cjs/components-react/properties/renderers/PropertyView.js.map +1 -1
  106. package/lib/cjs/components-react/properties/renderers/PropertyView.scss +106 -106
  107. package/lib/cjs/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  108. package/lib/cjs/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  109. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  110. package/lib/cjs/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  111. package/lib/cjs/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  112. package/lib/cjs/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  113. package/lib/cjs/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  114. package/lib/cjs/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  115. package/lib/cjs/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  116. package/lib/cjs/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  117. package/lib/cjs/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  118. package/lib/cjs/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  119. package/lib/cjs/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  120. package/lib/cjs/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  121. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  122. package/lib/cjs/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  123. package/lib/cjs/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  124. package/lib/cjs/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  125. package/lib/cjs/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  126. package/lib/cjs/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  127. package/lib/cjs/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  128. package/lib/cjs/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  129. package/lib/cjs/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  130. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  131. package/lib/cjs/components-react/propertygrid/component/PropertyGrid.scss +75 -75
  132. package/lib/cjs/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  133. package/lib/cjs/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  134. package/lib/cjs/components-react/propertygrid/component/PropertyList.js.map +1 -1
  135. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  136. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +94 -94
  137. package/lib/cjs/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  138. package/lib/cjs/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  139. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  140. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  141. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  142. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  143. package/lib/cjs/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  144. package/lib/cjs/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  145. package/lib/cjs/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  146. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  147. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  148. package/lib/cjs/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  149. package/lib/cjs/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  150. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  151. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  152. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  153. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  154. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  155. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  156. package/lib/cjs/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  157. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  158. package/lib/cjs/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  159. package/lib/cjs/components-react/selectable-content/SelectableContent.js.map +1 -1
  160. package/lib/cjs/components-react/selectable-content/SelectableContent.scss +19 -19
  161. package/lib/cjs/components-react/table/SimpleTableDataProvider.js.map +1 -1
  162. package/lib/cjs/components-react/table/TableDataProvider.js.map +1 -1
  163. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  164. package/lib/cjs/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  165. package/lib/cjs/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  166. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.d.ts.map +1 -1
  167. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js +1 -0
  168. package/lib/cjs/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  169. package/lib/cjs/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  170. package/lib/cjs/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  171. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  172. package/lib/cjs/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  173. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  174. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  175. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts.map +1 -1
  176. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +1 -0
  177. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  178. package/lib/cjs/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  179. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  180. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +1 -0
  181. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  182. package/lib/cjs/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  183. package/lib/cjs/components-react/table/component/ColumnDragLayer.js.map +1 -1
  184. package/lib/cjs/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  185. package/lib/cjs/components-react/table/component/Table.d.ts +8 -8
  186. package/lib/cjs/components-react/table/component/Table.d.ts.map +1 -1
  187. package/lib/cjs/components-react/table/component/Table.js +3 -2
  188. package/lib/cjs/components-react/table/component/Table.js.map +1 -1
  189. package/lib/cjs/components-react/table/component/Table.scss +200 -200
  190. package/lib/cjs/components-react/table/component/TableCell.d.ts +5 -5
  191. package/lib/cjs/components-react/table/component/TableCell.d.ts.map +1 -1
  192. package/lib/cjs/components-react/table/component/TableCell.js +3 -2
  193. package/lib/cjs/components-react/table/component/TableCell.js.map +1 -1
  194. package/lib/cjs/components-react/table/component/TableCell.scss +48 -48
  195. package/lib/cjs/components-react/table/component/TableColumn.d.ts +1 -1
  196. package/lib/cjs/components-react/table/component/TableColumn.d.ts.map +1 -1
  197. package/lib/cjs/components-react/table/component/TableColumn.js +1 -0
  198. package/lib/cjs/components-react/table/component/TableColumn.js.map +1 -1
  199. package/lib/cjs/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  200. package/lib/cjs/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  201. package/lib/cjs/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  202. package/lib/cjs/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  203. package/lib/cjs/components-react/toolbar/Item.js.map +1 -1
  204. package/lib/cjs/components-react/toolbar/Item.scss +122 -122
  205. package/lib/cjs/components-react/toolbar/ItemWrapper.js.map +1 -1
  206. package/lib/cjs/components-react/toolbar/ItemWrapper.scss +10 -10
  207. package/lib/cjs/components-react/toolbar/Items.js.map +1 -1
  208. package/lib/cjs/components-react/toolbar/Items.scss +94 -94
  209. package/lib/cjs/components-react/toolbar/Overflow.js.map +1 -1
  210. package/lib/cjs/components-react/toolbar/Overflow.scss +48 -48
  211. package/lib/cjs/components-react/toolbar/OverflowPanel.js.map +1 -1
  212. package/lib/cjs/components-react/toolbar/OverflowPanel.scss +37 -37
  213. package/lib/cjs/components-react/toolbar/PopupItem.js.map +1 -1
  214. package/lib/cjs/components-react/toolbar/PopupItem.scss +75 -75
  215. package/lib/cjs/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  216. package/lib/cjs/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  217. package/lib/cjs/components-react/toolbar/Toolbar.js.map +1 -1
  218. package/lib/cjs/components-react/toolbar/Toolbar.scss +18 -18
  219. package/lib/cjs/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  220. package/lib/cjs/components-react/toolbar/_variables.scss +34 -34
  221. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  222. package/lib/cjs/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  223. package/lib/cjs/components-react/toolbar/groupPanel/Column.js.map +1 -1
  224. package/lib/cjs/components-react/toolbar/groupPanel/Column.scss +9 -9
  225. package/lib/cjs/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  226. package/lib/cjs/components-react/toolbar/groupPanel/Columns.scss +10 -10
  227. package/lib/cjs/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  228. package/lib/cjs/components-react/toolbar/groupPanel/Panel.scss +17 -17
  229. package/lib/cjs/components-react/toolbar/groupPanel/Title.js.map +1 -1
  230. package/lib/cjs/components-react/toolbar/groupPanel/Title.scss +34 -34
  231. package/lib/cjs/components-react/toolbar/groupPanel/_variables.scss +16 -16
  232. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  233. package/lib/cjs/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  234. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  235. package/lib/cjs/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  236. package/lib/cjs/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  237. package/lib/cjs/components-react/toolbar/useDragInteraction.js.map +1 -1
  238. package/lib/cjs/components-react/toolbar/utilities/Direction.js.map +1 -1
  239. package/lib/cjs/components-react/tree/HighlightingEngine.js.map +1 -1
  240. package/lib/cjs/components-react/tree/HighlightingEngine.scss +7 -7
  241. package/lib/cjs/components-react/tree/ImageLoader.js.map +1 -1
  242. package/lib/cjs/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  243. package/lib/cjs/components-react/tree/TreeComponentTestId.js.map +1 -1
  244. package/lib/cjs/components-react/tree/TreeDataProvider.js.map +1 -1
  245. package/lib/cjs/components-react/tree/controlled/Observable.js.map +1 -1
  246. package/lib/cjs/components-react/tree/controlled/TreeActions.js.map +1 -1
  247. package/lib/cjs/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  248. package/lib/cjs/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  249. package/lib/cjs/components-react/tree/controlled/TreeEvents.js.map +1 -1
  250. package/lib/cjs/components-react/tree/controlled/TreeHooks.js.map +1 -1
  251. package/lib/cjs/components-react/tree/controlled/TreeModel.js.map +1 -1
  252. package/lib/cjs/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  253. package/lib/cjs/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  254. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  255. package/lib/cjs/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  256. package/lib/cjs/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  257. package/lib/cjs/components-react/tree/controlled/component/NodeContent.scss +28 -28
  258. package/lib/cjs/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  259. package/lib/cjs/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  260. package/lib/cjs/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  261. package/lib/cjs/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  262. package/lib/cjs/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  263. package/lib/cjs/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  264. package/lib/cjs/components-react.js.map +1 -1
  265. package/lib/esm/components-react/UiComponents.js.map +1 -1
  266. package/lib/esm/components-react/_target.scss +9 -9
  267. package/lib/esm/components-react/breadcrumb/BeInspireTree.js.map +1 -1
  268. package/lib/esm/components-react/breadcrumb/Breadcrumb.js.map +1 -1
  269. package/lib/esm/components-react/breadcrumb/Breadcrumb.scss +196 -196
  270. package/lib/esm/components-react/breadcrumb/BreadcrumbDetails.js.map +1 -1
  271. package/lib/esm/components-react/breadcrumb/BreadcrumbPath.js.map +1 -1
  272. package/lib/esm/components-react/breadcrumb/BreadcrumbTreeUtils.js.map +1 -1
  273. package/lib/esm/components-react/common/DateUtils.js.map +1 -1
  274. package/lib/esm/components-react/common/DelayedSpinner.js.map +1 -1
  275. package/lib/esm/components-react/common/HighlightedText.js.map +1 -1
  276. package/lib/esm/components-react/common/HighlightingComponentProps.js.map +1 -1
  277. package/lib/esm/components-react/common/IImageLoader.js.map +1 -1
  278. package/lib/esm/components-react/common/ImageRenderer.js.map +1 -1
  279. package/lib/esm/components-react/common/Links.js.map +1 -1
  280. package/lib/esm/components-react/common/PageOptions.js.map +1 -1
  281. package/lib/esm/components-react/common/SubscriptionScheduler.js.map +1 -1
  282. package/lib/esm/components-react/common/UseAsyncValue.js.map +1 -1
  283. package/lib/esm/components-react/common/UseContextWithMandatoryProvider.js.map +1 -1
  284. package/lib/esm/components-react/common/UseDebouncedAsyncValue.js.map +1 -1
  285. package/lib/esm/components-react/common/UseRerender.js.map +1 -1
  286. package/lib/esm/components-react/common/countMatchesInString.js.map +1 -1
  287. package/lib/esm/components-react/common/selection/SelectionHandler.js.map +1 -1
  288. package/lib/esm/components-react/common/selection/SelectionModes.js.map +1 -1
  289. package/lib/esm/components-react/common/showhide/ShowHideDialog.js.map +1 -1
  290. package/lib/esm/components-react/common/showhide/ShowHideItem.js.map +1 -1
  291. package/lib/esm/components-react/common/showhide/ShowHideMenu.js.map +1 -1
  292. package/lib/esm/components-react/converters/BooleanTypeConverter.js.map +1 -1
  293. package/lib/esm/components-react/converters/CompositeTypeConverter.js.map +1 -1
  294. package/lib/esm/components-react/converters/DateTimeTypeConverter.js.map +1 -1
  295. package/lib/esm/components-react/converters/EnumTypeConverter.js.map +1 -1
  296. package/lib/esm/components-react/converters/HexadecimalTypeConverter.js.map +1 -1
  297. package/lib/esm/components-react/converters/NavigationPropertyTypeConverter.js.map +1 -1
  298. package/lib/esm/components-react/converters/NumericTypeConverter.js.map +1 -1
  299. package/lib/esm/components-react/converters/PointTypeConverter.js.map +1 -1
  300. package/lib/esm/components-react/converters/StringTypeConverter.js.map +1 -1
  301. package/lib/esm/components-react/converters/TypeConverter.js.map +1 -1
  302. package/lib/esm/components-react/converters/TypeConverterManager.js.map +1 -1
  303. package/lib/esm/components-react/converters/valuetypes/ConvertedTypes.js.map +1 -1
  304. package/lib/esm/components-react/datepicker/DateField.js.map +1 -1
  305. package/lib/esm/components-react/datepicker/DateField.scss +22 -22
  306. package/lib/esm/components-react/datepicker/DatePicker.js.map +1 -1
  307. package/lib/esm/components-react/datepicker/DatePicker.scss +170 -170
  308. package/lib/esm/components-react/datepicker/DatePickerPopupButton.js.map +1 -1
  309. package/lib/esm/components-react/datepicker/DatePickerPopupButton.scss +57 -57
  310. package/lib/esm/components-react/datepicker/IntlFormatter.js.map +1 -1
  311. package/lib/esm/components-react/datepicker/TimeField.js.map +1 -1
  312. package/lib/esm/components-react/datepicker/TimeField.scss +73 -73
  313. package/lib/esm/components-react/editors/BooleanEditor.js.map +1 -1
  314. package/lib/esm/components-react/editors/BooleanEditor.scss +24 -24
  315. package/lib/esm/components-react/editors/CustomNumberEditor.js.map +1 -1
  316. package/lib/esm/components-react/editors/CustomNumberEditor.scss +21 -21
  317. package/lib/esm/components-react/editors/DateTimeEditor.js.map +1 -1
  318. package/lib/esm/components-react/editors/DateTimeEditor.scss +9 -9
  319. package/lib/esm/components-react/editors/EditorContainer.js.map +1 -1
  320. package/lib/esm/components-react/editors/EditorContainer.scss +6 -6
  321. package/lib/esm/components-react/editors/EnumButtonGroupEditor.js.map +1 -1
  322. package/lib/esm/components-react/editors/EnumButtonGroupEditor.scss +182 -182
  323. package/lib/esm/components-react/editors/EnumEditor.js.map +1 -1
  324. package/lib/esm/components-react/editors/EnumEditor.scss +22 -22
  325. package/lib/esm/components-react/editors/IconEditor.js.map +1 -1
  326. package/lib/esm/components-react/editors/IconEditor.scss +16 -16
  327. package/lib/esm/components-react/editors/ImageCheckBoxEditor.js.map +1 -1
  328. package/lib/esm/components-react/editors/ImageCheckBoxEditor.scss +23 -23
  329. package/lib/esm/components-react/editors/NumericInputEditor.js.map +1 -1
  330. package/lib/esm/components-react/editors/NumericInputEditor.scss +17 -17
  331. package/lib/esm/components-react/editors/PopupButton.js.map +1 -1
  332. package/lib/esm/components-react/editors/PopupButton.scss +119 -119
  333. package/lib/esm/components-react/editors/PropertyEditorManager.js.map +1 -1
  334. package/lib/esm/components-react/editors/SliderEditor.js.map +1 -1
  335. package/lib/esm/components-react/editors/SliderEditor.scss +13 -13
  336. package/lib/esm/components-react/editors/TextEditor.js.map +1 -1
  337. package/lib/esm/components-react/editors/TextEditor.scss +21 -21
  338. package/lib/esm/components-react/editors/TextareaEditor.js.map +1 -1
  339. package/lib/esm/components-react/editors/TextareaEditor.scss +14 -14
  340. package/lib/esm/components-react/editors/ThemedEnumEditor.js.map +1 -1
  341. package/lib/esm/components-react/editors/ThemedEnumEditor.scss +82 -82
  342. package/lib/esm/components-react/editors/ToggleEditor.js.map +1 -1
  343. package/lib/esm/components-react/editors/ToggleEditor.scss +25 -25
  344. package/lib/esm/components-react/editors/variables.scss +6 -6
  345. package/lib/esm/components-react/favorite/FavoritePropertiesRenderer.js.map +1 -1
  346. package/lib/esm/components-react/favorite/FavoritePropertyList.js.map +1 -1
  347. package/lib/esm/components-react/filtering/FilteringInput.js.map +1 -1
  348. package/lib/esm/components-react/filtering/FilteringInput.scss +68 -68
  349. package/lib/esm/components-react/filtering/ResultSelector.js.map +1 -1
  350. package/lib/esm/components-react/filtering/ResultSelector.scss +72 -72
  351. package/lib/esm/components-react/iconpicker/IconPickerButton.js.map +1 -1
  352. package/lib/esm/components-react/iconpicker/IconPickerButton.scss +74 -74
  353. package/lib/esm/components-react/inputs/ParsedInput.js.map +1 -1
  354. package/lib/esm/components-react/inputs/ParsedInput.scss +23 -23
  355. package/lib/esm/components-react/properties/ItemStyle.js.map +1 -1
  356. package/lib/esm/components-react/properties/LinkHandler.js.map +1 -1
  357. package/lib/esm/components-react/properties/ValueRendererManager.js.map +1 -1
  358. package/lib/esm/components-react/properties/renderers/ActionButtonList.js.map +1 -1
  359. package/lib/esm/components-react/properties/renderers/ActionButtonList.scss +25 -25
  360. package/lib/esm/components-react/properties/renderers/ActionButtonRenderer.js.map +1 -1
  361. package/lib/esm/components-react/properties/renderers/CommonPropertyRenderer.js.map +1 -1
  362. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.js.map +1 -1
  363. package/lib/esm/components-react/properties/renderers/NonPrimitivePropertyRenderer.scss +16 -16
  364. package/lib/esm/components-react/properties/renderers/PrimitivePropertyRenderer.js.map +1 -1
  365. package/lib/esm/components-react/properties/renderers/PropertyGridColumns.js.map +1 -1
  366. package/lib/esm/components-react/properties/renderers/PropertyRenderer.js.map +1 -1
  367. package/lib/esm/components-react/properties/renderers/PropertyView.js.map +1 -1
  368. package/lib/esm/components-react/properties/renderers/PropertyView.scss +106 -106
  369. package/lib/esm/components-react/properties/renderers/label/NonPrimitivePropertyLabelRenderer.js.map +1 -1
  370. package/lib/esm/components-react/properties/renderers/label/PrimitivePropertyLabelRenderer.js.map +1 -1
  371. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.js.map +1 -1
  372. package/lib/esm/components-react/properties/renderers/label/PropertyLabelRenderer.scss +87 -87
  373. package/lib/esm/components-react/properties/renderers/value/ArrayPropertyValueRenderer.js.map +1 -1
  374. package/lib/esm/components-react/properties/renderers/value/DoublePropertyValueRenderer.js.map +1 -1
  375. package/lib/esm/components-react/properties/renderers/value/MergedPropertyValueRenderer.js.map +1 -1
  376. package/lib/esm/components-react/properties/renderers/value/MultilineTextPropertyValueRenderer.js.map +1 -1
  377. package/lib/esm/components-react/properties/renderers/value/NavigationPropertyValueRenderer.js.map +1 -1
  378. package/lib/esm/components-react/properties/renderers/value/PrimitivePropertyValueRenderer.js.map +1 -1
  379. package/lib/esm/components-react/properties/renderers/value/StructPropertyValueRenderer.js.map +1 -1
  380. package/lib/esm/components-react/properties/renderers/value/UrlPropertyValueRenderer.js.map +1 -1
  381. package/lib/esm/components-react/properties/renderers/value/WithContextStyle.js.map +1 -1
  382. package/lib/esm/components-react/properties/renderers/value/table/ArrayValueRenderer.js.map +1 -1
  383. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.js.map +1 -1
  384. package/lib/esm/components-react/properties/renderers/value/table/NonPrimitiveValueRenderer.scss +10 -10
  385. package/lib/esm/components-react/properties/renderers/value/table/StructValueRenderer.js.map +1 -1
  386. package/lib/esm/components-react/propertygrid/PropertyCategoryRendererManager.js.map +1 -1
  387. package/lib/esm/components-react/propertygrid/PropertyDataProvider.js.map +1 -1
  388. package/lib/esm/components-react/propertygrid/SimplePropertyDataProvider.js.map +1 -1
  389. package/lib/esm/components-react/propertygrid/component/ColumnResizingPropertyListPropsSupplier.js.map +1 -1
  390. package/lib/esm/components-react/propertygrid/component/FlatItemNestedBorderWrapper.js.map +1 -1
  391. package/lib/esm/components-react/propertygrid/component/PropertyCategoryBlock.js.map +1 -1
  392. package/lib/esm/components-react/propertygrid/component/PropertyGrid.js.map +1 -1
  393. package/lib/esm/components-react/propertygrid/component/PropertyGrid.scss +75 -75
  394. package/lib/esm/components-react/propertygrid/component/PropertyGridCommons.js.map +1 -1
  395. package/lib/esm/components-react/propertygrid/component/PropertyGridEventsRelatedPropsSupplier.js.map +1 -1
  396. package/lib/esm/components-react/propertygrid/component/PropertyList.js.map +1 -1
  397. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.js.map +1 -1
  398. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGrid.scss +94 -94
  399. package/lib/esm/components-react/propertygrid/component/VirtualizedPropertyGridWithDataProvider.js.map +1 -1
  400. package/lib/esm/components-react/propertygrid/dataproviders/FilteringDataProvider.js.map +1 -1
  401. package/lib/esm/components-react/propertygrid/dataproviders/filterers/CompositePropertyDataFilterer.js.map +1 -1
  402. package/lib/esm/components-react/propertygrid/dataproviders/filterers/DisplayValuePropertyDataFilterer.js.map +1 -1
  403. package/lib/esm/components-react/propertygrid/dataproviders/filterers/LabelPropertyDataFilterer.js.map +1 -1
  404. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyCategoryLabelFilterer.js.map +1 -1
  405. package/lib/esm/components-react/propertygrid/dataproviders/filterers/PropertyDataFiltererBase.js.map +1 -1
  406. package/lib/esm/components-react/propertygrid/internal/PropertyGridEventHandler.js.map +1 -1
  407. package/lib/esm/components-react/propertygrid/internal/PropertyGridHooks.js.map +1 -1
  408. package/lib/esm/components-react/propertygrid/internal/PropertyGridModel.js.map +1 -1
  409. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelChangeEvent.js.map +1 -1
  410. package/lib/esm/components-react/propertygrid/internal/PropertyGridModelSource.js.map +1 -1
  411. package/lib/esm/components-react/propertygrid/internal/flat-items/FlatGridItem.js.map +1 -1
  412. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedArrayProperty.js.map +1 -1
  413. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedPrimitiveProperty.js.map +1 -1
  414. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCategorizedStructProperty.js.map +1 -1
  415. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableCustomGridCategory.js.map +1 -1
  416. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableFlatGridItem.js.map +1 -1
  417. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridCategory.js.map +1 -1
  418. package/lib/esm/components-react/propertygrid/internal/flat-items/MutableGridItemFactory.js.map +1 -1
  419. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatNonPrimitivePropertyRenderer.js.map +1 -1
  420. package/lib/esm/components-react/propertygrid/internal/flat-properties/FlatPropertyRenderer.js.map +1 -1
  421. package/lib/esm/components-react/selectable-content/SelectableContent.js.map +1 -1
  422. package/lib/esm/components-react/selectable-content/SelectableContent.scss +19 -19
  423. package/lib/esm/components-react/table/SimpleTableDataProvider.js.map +1 -1
  424. package/lib/esm/components-react/table/TableDataProvider.js.map +1 -1
  425. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.js.map +1 -1
  426. package/lib/esm/components-react/table/columnfiltering/ColumnFiltering.scss +78 -78
  427. package/lib/esm/components-react/table/columnfiltering/ColumnFilteringUtilities.js.map +1 -1
  428. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.d.ts.map +1 -1
  429. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js +1 -0
  430. package/lib/esm/components-react/table/columnfiltering/DataGridFilterParser.js.map +1 -1
  431. package/lib/esm/components-react/table/columnfiltering/FilterableColumnBase.js.map +1 -1
  432. package/lib/esm/components-react/table/columnfiltering/TableColumnFilterDescriptor.js.map +1 -1
  433. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptor.js.map +1 -1
  434. package/lib/esm/components-react/table/columnfiltering/TableFilterDescriptorCollection.js.map +1 -1
  435. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/AutoCompleteFilter.js.map +1 -1
  436. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/MultiSelectFilter.js.map +1 -1
  437. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.d.ts.map +1 -1
  438. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js +1 -0
  439. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/NumericFilter.js.map +1 -1
  440. package/lib/esm/components-react/table/columnfiltering/data-grid-addons/SingleSelectFilter.js.map +1 -1
  441. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.d.ts.map +1 -1
  442. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js +1 -0
  443. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.js.map +1 -1
  444. package/lib/esm/components-react/table/columnfiltering/multi-value-filter/MultiValueFilter.scss +35 -35
  445. package/lib/esm/components-react/table/component/ColumnDragLayer.js.map +1 -1
  446. package/lib/esm/components-react/table/component/DragDropHeaderCell.js.map +1 -1
  447. package/lib/esm/components-react/table/component/Table.d.ts +8 -8
  448. package/lib/esm/components-react/table/component/Table.d.ts.map +1 -1
  449. package/lib/esm/components-react/table/component/Table.js +3 -2
  450. package/lib/esm/components-react/table/component/Table.js.map +1 -1
  451. package/lib/esm/components-react/table/component/Table.scss +200 -200
  452. package/lib/esm/components-react/table/component/TableCell.d.ts +5 -5
  453. package/lib/esm/components-react/table/component/TableCell.d.ts.map +1 -1
  454. package/lib/esm/components-react/table/component/TableCell.js +3 -2
  455. package/lib/esm/components-react/table/component/TableCell.js.map +1 -1
  456. package/lib/esm/components-react/table/component/TableCell.scss +48 -48
  457. package/lib/esm/components-react/table/component/TableColumn.d.ts +1 -1
  458. package/lib/esm/components-react/table/component/TableColumn.d.ts.map +1 -1
  459. package/lib/esm/components-react/table/component/TableColumn.js +1 -0
  460. package/lib/esm/components-react/table/component/TableColumn.js.map +1 -1
  461. package/lib/esm/components-react/table/component/dragdrop/BeDragDropContext.js.map +1 -1
  462. package/lib/esm/components-react/table/component/dragdrop/DragDropDef.js.map +1 -1
  463. package/lib/esm/components-react/table/component/dragdrop/withDragSource.js.map +1 -1
  464. package/lib/esm/components-react/table/component/dragdrop/withDropTarget.js.map +1 -1
  465. package/lib/esm/components-react/toolbar/Item.js.map +1 -1
  466. package/lib/esm/components-react/toolbar/Item.scss +122 -122
  467. package/lib/esm/components-react/toolbar/ItemWrapper.js.map +1 -1
  468. package/lib/esm/components-react/toolbar/ItemWrapper.scss +10 -10
  469. package/lib/esm/components-react/toolbar/Items.js.map +1 -1
  470. package/lib/esm/components-react/toolbar/Items.scss +94 -94
  471. package/lib/esm/components-react/toolbar/Overflow.js.map +1 -1
  472. package/lib/esm/components-react/toolbar/Overflow.scss +48 -48
  473. package/lib/esm/components-react/toolbar/OverflowPanel.js.map +1 -1
  474. package/lib/esm/components-react/toolbar/OverflowPanel.scss +37 -37
  475. package/lib/esm/components-react/toolbar/PopupItem.js.map +1 -1
  476. package/lib/esm/components-react/toolbar/PopupItem.scss +75 -75
  477. package/lib/esm/components-react/toolbar/PopupItemWithDrag.js.map +1 -1
  478. package/lib/esm/components-react/toolbar/PopupItemsPanel.js.map +1 -1
  479. package/lib/esm/components-react/toolbar/Toolbar.js.map +1 -1
  480. package/lib/esm/components-react/toolbar/Toolbar.scss +18 -18
  481. package/lib/esm/components-react/toolbar/ToolbarWithOverflow.js.map +1 -1
  482. package/lib/esm/components-react/toolbar/_variables.scss +34 -34
  483. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.js.map +1 -1
  484. package/lib/esm/components-react/toolbar/groupPanel/BackArrow.scss +44 -44
  485. package/lib/esm/components-react/toolbar/groupPanel/Column.js.map +1 -1
  486. package/lib/esm/components-react/toolbar/groupPanel/Column.scss +9 -9
  487. package/lib/esm/components-react/toolbar/groupPanel/Columns.js.map +1 -1
  488. package/lib/esm/components-react/toolbar/groupPanel/Columns.scss +10 -10
  489. package/lib/esm/components-react/toolbar/groupPanel/Panel.js.map +1 -1
  490. package/lib/esm/components-react/toolbar/groupPanel/Panel.scss +17 -17
  491. package/lib/esm/components-react/toolbar/groupPanel/Title.js.map +1 -1
  492. package/lib/esm/components-react/toolbar/groupPanel/Title.scss +34 -34
  493. package/lib/esm/components-react/toolbar/groupPanel/_variables.scss +16 -16
  494. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.js.map +1 -1
  495. package/lib/esm/components-react/toolbar/groupPanel/tool/Expander.scss +29 -29
  496. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.js.map +1 -1
  497. package/lib/esm/components-react/toolbar/groupPanel/tool/Tool.scss +146 -146
  498. package/lib/esm/components-react/toolbar/groupPanel/tool/_variables.scss +12 -12
  499. package/lib/esm/components-react/toolbar/useDragInteraction.js.map +1 -1
  500. package/lib/esm/components-react/toolbar/utilities/Direction.js.map +1 -1
  501. package/lib/esm/components-react/tree/HighlightingEngine.js.map +1 -1
  502. package/lib/esm/components-react/tree/HighlightingEngine.scss +7 -7
  503. package/lib/esm/components-react/tree/ImageLoader.js.map +1 -1
  504. package/lib/esm/components-react/tree/SimpleTreeDataProvider.js.map +1 -1
  505. package/lib/esm/components-react/tree/TreeComponentTestId.js.map +1 -1
  506. package/lib/esm/components-react/tree/TreeDataProvider.js.map +1 -1
  507. package/lib/esm/components-react/tree/controlled/Observable.js.map +1 -1
  508. package/lib/esm/components-react/tree/controlled/TreeActions.js.map +1 -1
  509. package/lib/esm/components-react/tree/controlled/TreeEventDispatcher.js.map +1 -1
  510. package/lib/esm/components-react/tree/controlled/TreeEventHandler.js.map +1 -1
  511. package/lib/esm/components-react/tree/controlled/TreeEvents.js.map +1 -1
  512. package/lib/esm/components-react/tree/controlled/TreeHooks.js.map +1 -1
  513. package/lib/esm/components-react/tree/controlled/TreeModel.js.map +1 -1
  514. package/lib/esm/components-react/tree/controlled/TreeModelSource.js.map +1 -1
  515. package/lib/esm/components-react/tree/controlled/TreeNodeLoader.js.map +1 -1
  516. package/lib/esm/components-react/tree/controlled/component/ControlledTree.js.map +1 -1
  517. package/lib/esm/components-react/tree/controlled/component/ControlledTree.scss +102 -102
  518. package/lib/esm/components-react/tree/controlled/component/NodeContent.js.map +1 -1
  519. package/lib/esm/components-react/tree/controlled/component/NodeContent.scss +28 -28
  520. package/lib/esm/components-react/tree/controlled/component/TreeNodeEditor.js.map +1 -1
  521. package/lib/esm/components-react/tree/controlled/component/TreeNodeRenderer.js.map +1 -1
  522. package/lib/esm/components-react/tree/controlled/component/TreeRenderer.js.map +1 -1
  523. package/lib/esm/components-react/tree/controlled/internal/SparseTree.js.map +1 -1
  524. package/lib/esm/components-react/tree/controlled/internal/TreeModelMutator.js.map +1 -1
  525. package/lib/esm/components-react/tree/controlled/internal/TreeSelectionManager.js.map +1 -1
  526. package/lib/esm/components-react.js.map +1 -1
  527. package/lib/public/locales/en/UiComponents.json +123 -123
  528. package/package.json +12 -12
@@ -1,171 +1,171 @@
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 "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
- @import "~@itwin/core-react/lib/cjs/core-react/style/opacity";
7
- @import "~@itwin/itwinui-css/scss/style/typography";
8
- @import "~@itwin/itwinui-css/scss/style/variables";
9
- @import "~@itwin/core-react/lib/cjs/core-react/icons/variables";
10
- @import "~@itwin/core-react/lib/cjs/core-react/button/variables";
11
-
12
- $date-picker-m: 16px;
13
- $date-picker-icons-color-actionable: rgba($buic-foreground-body, $uicore-opacity-2);
14
- $date-picker-icons-color-actionable-hover: rgba($buic-foreground-body, $uicore-opacity-1);
15
- $date-picker-outside-month-color: $buic-text-color-disabled;
16
- $outline-size: 2px;
17
-
18
- .components-date-picker-calendar {
19
- border-radius: 3px 3px 0 0;
20
- background-color: $buic-background-control;
21
- color: $buic-foreground-body;
22
- font-size: 14px;
23
-
24
- * {
25
- box-sizing: border-box;
26
- }
27
-
28
- .components-date-picker-calendar-header-months {
29
- display: inline-flex;
30
- width: calc(100% - 12px);
31
- align-items: center;
32
- justify-content: space-between;
33
- padding: 6px;
34
-
35
- button.components-previous-month,
36
- button.components-next-month {
37
- background-color: $buic-background-control;
38
- border: none;
39
- cursor: pointer;
40
- padding: 5px;
41
- font-size: $uicore-icons-small;
42
- user-select: none;
43
- color: $date-picker-icons-color-actionable;
44
-
45
- &:focus {
46
- outline: 0px;
47
-
48
- &.showFocusOutline {
49
- outline: 0px;
50
- border: 0px solid $buic-inputs-border;
51
- border-radius: 3px;
52
- border-color: var(--buic-foreground-focus-border);
53
- box-shadow: var(--buic-focus-boxshadow-gradient1) 0px 1px 1px, var(--buic-focus-boxshadow-gradient2) 0px 0px 0px 2px;
54
- }
55
- }
56
-
57
- &:hover {
58
- color: $buic-foreground-primary;
59
- }
60
- }
61
-
62
- .components-next-month {
63
- text-align: right;
64
- }
65
-
66
- .components-month-year {
67
- flex: 2;
68
- font-weight: $iui-font-weight-bold;
69
- text-align: center;
70
- }
71
- }
72
-
73
- .components-date-picker-calendar-header-weekdays {
74
- display: grid;
75
- background-color: $buic-background-2;
76
- padding-inline-start: 8px;
77
- padding-inline-end: 8px;
78
- grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
79
- align-items: center;
80
-
81
- .components-date-picker-calendar-header-day-short {
82
- text-align: center;
83
- text-decoration: none;
84
- font-weight: $iui-font-weight-bold;
85
- height: 32px;
86
- width: 32px;
87
- display: inline-flex;
88
- align-items: center;
89
- justify-content: center;
90
- }
91
- }
92
-
93
- ul.components-date-picker-calendar-month {
94
- margin: 1px;
95
- padding: 4px 5px;
96
- list-style: none;
97
- display: grid;
98
- grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
99
- text-align: center;
100
- align-items: center;
101
- align-self: center;
102
-
103
- &:focus {
104
- outline: 0px;
105
-
106
- &.showFocusOutline {
107
- border: 0px solid $buic-inputs-border;
108
- border-radius: 3px;
109
- border-color: var(--buic-foreground-focus-border);
110
- box-shadow: var(--buic-focus-boxshadow-gradient1) 0px 1px 1px, var(--buic-focus-boxshadow-gradient2) 0px 0px 0px 2px;
111
-
112
- .components-date-picker-calendar-day.focused {
113
- outline: 0px;
114
- border: 1px solid $buic-inputs-border;
115
- border-radius: 3px;
116
- border-color: var(--buic-foreground-focus-border);
117
- box-shadow: var(--buic-focus-boxshadow-gradient1) 0px 1px 1px, var(--buic-focus-boxshadow-gradient2) 0px 0px 0px 2px;
118
- z-index: 1;
119
- }
120
- }
121
- }
122
-
123
- .components-date-picker-calendar-day {
124
- box-sizing: border-box;
125
- text-align: center;
126
- white-space: nowrap;
127
- cursor: pointer;
128
- height: 32px;
129
- width: 32px;
130
- display: inline-flex;
131
- align-items: center;
132
- justify-content: center;
133
-
134
- &:focus {
135
- outline: 0px;
136
- }
137
-
138
- &:hover:not(.selected) {
139
- background-color: $buic-row-hover;
140
- border-radius: $iui-border-radius;
141
- font-weight: $iui-font-weight-semibold;
142
- }
143
-
144
- &.selected {
145
- background-color: $buic-background-primary;
146
- color: $buic-foreground-accessory;
147
- font-weight: $iui-font-weight-semibold;
148
- border-radius: $iui-border-radius;
149
-
150
- &:hover {
151
- background-color: $buic-row-hover;
152
- color: $buic-foreground-body;
153
- }
154
- }
155
-
156
- &.today {
157
- background-color: rgba($buic-foreground-body, $uicore-opacity-6);
158
- font-weight: $iui-font-weight-semibold;
159
- border-radius: 50%;
160
- }
161
-
162
- &.notCurrentMonth {
163
- &:not(.selected) {
164
- color: $date-picker-outside-month-color;
165
- font-weight: $iui-font-weight-light;
166
- }
167
- }
168
- }
169
- }
170
-
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 "~@itwin/core-react/lib/cjs/core-react/style/themecolors";
6
+ @import "~@itwin/core-react/lib/cjs/core-react/style/opacity";
7
+ @import "~@itwin/itwinui-css/scss/style/typography";
8
+ @import "~@itwin/itwinui-css/scss/style/variables";
9
+ @import "~@itwin/core-react/lib/cjs/core-react/icons/variables";
10
+ @import "~@itwin/core-react/lib/cjs/core-react/button/variables";
11
+
12
+ $date-picker-m: 16px;
13
+ $date-picker-icons-color-actionable: rgba($buic-foreground-body, $uicore-opacity-2);
14
+ $date-picker-icons-color-actionable-hover: rgba($buic-foreground-body, $uicore-opacity-1);
15
+ $date-picker-outside-month-color: $buic-text-color-disabled;
16
+ $outline-size: 2px;
17
+
18
+ .components-date-picker-calendar {
19
+ border-radius: 3px 3px 0 0;
20
+ background-color: $buic-background-control;
21
+ color: $buic-foreground-body;
22
+ font-size: 14px;
23
+
24
+ * {
25
+ box-sizing: border-box;
26
+ }
27
+
28
+ .components-date-picker-calendar-header-months {
29
+ display: inline-flex;
30
+ width: calc(100% - 12px);
31
+ align-items: center;
32
+ justify-content: space-between;
33
+ padding: 6px;
34
+
35
+ button.components-previous-month,
36
+ button.components-next-month {
37
+ background-color: $buic-background-control;
38
+ border: none;
39
+ cursor: pointer;
40
+ padding: 5px;
41
+ font-size: $uicore-icons-small;
42
+ user-select: none;
43
+ color: $date-picker-icons-color-actionable;
44
+
45
+ &:focus {
46
+ outline: 0px;
47
+
48
+ &.showFocusOutline {
49
+ outline: 0px;
50
+ border: 0px solid $buic-inputs-border;
51
+ border-radius: 3px;
52
+ border-color: var(--buic-foreground-focus-border);
53
+ box-shadow: var(--buic-focus-boxshadow-gradient1) 0px 1px 1px, var(--buic-focus-boxshadow-gradient2) 0px 0px 0px 2px;
54
+ }
55
+ }
56
+
57
+ &:hover {
58
+ color: $buic-foreground-primary;
59
+ }
60
+ }
61
+
62
+ .components-next-month {
63
+ text-align: right;
64
+ }
65
+
66
+ .components-month-year {
67
+ flex: 2;
68
+ font-weight: $iui-font-weight-bold;
69
+ text-align: center;
70
+ }
71
+ }
72
+
73
+ .components-date-picker-calendar-header-weekdays {
74
+ display: grid;
75
+ background-color: $buic-background-2;
76
+ padding-inline-start: 8px;
77
+ padding-inline-end: 8px;
78
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
79
+ align-items: center;
80
+
81
+ .components-date-picker-calendar-header-day-short {
82
+ text-align: center;
83
+ text-decoration: none;
84
+ font-weight: $iui-font-weight-bold;
85
+ height: 32px;
86
+ width: 32px;
87
+ display: inline-flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ }
91
+ }
92
+
93
+ ul.components-date-picker-calendar-month {
94
+ margin: 1px;
95
+ padding: 4px 5px;
96
+ list-style: none;
97
+ display: grid;
98
+ grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
99
+ text-align: center;
100
+ align-items: center;
101
+ align-self: center;
102
+
103
+ &:focus {
104
+ outline: 0px;
105
+
106
+ &.showFocusOutline {
107
+ border: 0px solid $buic-inputs-border;
108
+ border-radius: 3px;
109
+ border-color: var(--buic-foreground-focus-border);
110
+ box-shadow: var(--buic-focus-boxshadow-gradient1) 0px 1px 1px, var(--buic-focus-boxshadow-gradient2) 0px 0px 0px 2px;
111
+
112
+ .components-date-picker-calendar-day.focused {
113
+ outline: 0px;
114
+ border: 1px solid $buic-inputs-border;
115
+ border-radius: 3px;
116
+ border-color: var(--buic-foreground-focus-border);
117
+ box-shadow: var(--buic-focus-boxshadow-gradient1) 0px 1px 1px, var(--buic-focus-boxshadow-gradient2) 0px 0px 0px 2px;
118
+ z-index: 1;
119
+ }
120
+ }
121
+ }
122
+
123
+ .components-date-picker-calendar-day {
124
+ box-sizing: border-box;
125
+ text-align: center;
126
+ white-space: nowrap;
127
+ cursor: pointer;
128
+ height: 32px;
129
+ width: 32px;
130
+ display: inline-flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+
134
+ &:focus {
135
+ outline: 0px;
136
+ }
137
+
138
+ &:hover:not(.selected) {
139
+ background-color: $buic-row-hover;
140
+ border-radius: $iui-border-radius;
141
+ font-weight: $iui-font-weight-semibold;
142
+ }
143
+
144
+ &.selected {
145
+ background-color: $buic-background-primary;
146
+ color: $buic-foreground-accessory;
147
+ font-weight: $iui-font-weight-semibold;
148
+ border-radius: $iui-border-radius;
149
+
150
+ &:hover {
151
+ background-color: $buic-row-hover;
152
+ color: $buic-foreground-body;
153
+ }
154
+ }
155
+
156
+ &.today {
157
+ background-color: rgba($buic-foreground-body, $uicore-opacity-6);
158
+ font-weight: $iui-font-weight-semibold;
159
+ border-radius: 50%;
160
+ }
161
+
162
+ &.notCurrentMonth {
163
+ &:not(.selected) {
164
+ color: $date-picker-outside-month-color;
165
+ font-weight: $iui-font-weight-light;
166
+ }
167
+ }
168
+ }
169
+ }
170
+
171
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DatePickerPopupButton.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DatePickerPopupButton.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 { DateFormatter, RelativePosition, SpecialKey, TimeDisplay } from \"@itwin/appui-abstract\";\nimport { BodyText, CommonProps, Popup } from \"@itwin/core-react\";\nimport { UiComponents } from \"../UiComponents\";\nimport { DatePicker } from \"./DatePicker\";\nimport { DateField } from \"./DateField\";\nimport { TimeField, TimeSpec } from \"./TimeField\";\nimport \"./DatePickerPopupButton.scss\";\n\n/** Props used by [[DatePickerPopupButton]] component.\n * @alpha */\nexport interface DatePickerPopupButtonProps extends CommonProps {\n /** Date to be shown as the selected date. */\n selected: Date;\n /** If true show the date (and optionally time) edit field next to button */\n displayEditField?: boolean;\n // If defined show time in popup and also display time if input field is shown\n timeDisplay?: TimeDisplay;\n /** Function called when Date changes. */\n onDateChange?: (day: Date) => void;\n /** Optional tooltip */\n buttonToolTip?: string;\n /* Custom date formatter. WARNING: if used values will only be shown in specified format and will not be based on locale.\n * If used the existence of a parseDate function will determine if the edit field allows editing. */\n dateFormatter?: DateFormatter;\n /** User defined class name for edit field. */\n fieldClassName?: string;\n /** User defined style for edit field. */\n fieldStyle?: React.CSSProperties;\n}\n\n/** Component that displays a button used to pick a date and optionally a time.\n * @alpha\n * */\nexport function DatePickerPopupButton({ displayEditField, timeDisplay, selected, onDateChange, dateFormatter,\n buttonToolTip, fieldStyle, fieldClassName, style }: DatePickerPopupButtonProps) {\n const [workingDate, setWorkingDate] = React.useState(new Date(selected.getTime()));\n const [isSettingsOpen, setIsSettingsOpen] = React.useState(false);\n const timeLabelRef = React.useRef(UiComponents.translate(\"datepicker.time\"));\n const toolTipLabelRef = React.useRef(UiComponents.translate(\"datepicker.selectDate\"));\n const toolTipLabel = React.useMemo(() => buttonToolTip ? buttonToolTip : toolTipLabelRef.current, [buttonToolTip]);\n\n // See if props have changed since component mounted\n React.useEffect(() => {\n const newWorkingDate = new Date(selected.getTime());\n setWorkingDate(newWorkingDate);\n }, [selected]);\n\n const buttonRef = React.useRef<HTMLButtonElement>(null);\n const togglePopupDisplay = React.useCallback((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\n event.preventDefault();\n setShowFocusOutline(false);\n setIsSettingsOpen((prev) => !prev);\n }, [setIsSettingsOpen]);\n\n const handleCloseSetting = React.useCallback(() => {\n setIsSettingsOpen(false);\n }, [setIsSettingsOpen]);\n\n const handleOnDateChanged = (day: Date) => {\n // combine current time into selected Date\n const newWorkingDate = new Date(day.getTime());\n newWorkingDate.setHours(workingDate.getHours(), workingDate.getMinutes(), workingDate.getSeconds());\n onDateChange && onDateChange(newWorkingDate);\n !timeDisplay && setIsSettingsOpen(false);\n };\n\n const handleOnTimeChanged = (time: TimeSpec) => {\n // Combine new time into selected Date\n const newWorkingDate = new Date(workingDate.getTime());\n newWorkingDate.setHours(time.hours, time.minutes, time.seconds);\n setWorkingDate(newWorkingDate);\n onDateChange && onDateChange(newWorkingDate);\n };\n\n const [showFocusOutline, setShowFocusOutline] = React.useState(false);\n const handlePopupKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\n // istanbul ignore else\n if (event.key === SpecialKey.Space) {\n setShowFocusOutline(true);\n setIsSettingsOpen(true);\n }\n }, []);\n\n const timeSpec: TimeSpec = { hours: workingDate.getHours(), minutes: workingDate.getMinutes(), seconds: workingDate.getSeconds() };\n return (\n <>\n <button title={toolTipLabel} style={style} className=\"components-date-picker-calendar-popup-button\" onKeyDown={handlePopupKeyDown}\n data-testid=\"components-date-picker-calendar-popup-button\" onPointerDown={togglePopupDisplay} ref={buttonRef}>\n <div className=\"datepicker-button\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\n <path d=\"M13,13H9V10h4ZM16,3V15a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V3A1,1,0,0,1,1,2H3V0H4V2h8V0h1V2h2A1,1,0,0,1,16,3ZM15,6H1v9H15Z\" />\n </svg>\n </div>\n </button>\n <Popup\n isOpen={isSettingsOpen}\n position={RelativePosition.BottomLeft}\n onClose={handleCloseSetting}\n target={buttonRef.current}\n closeOnEnter={false}\n moveFocus={showFocusOutline}\n closeOnNestedPopupOutsideClick\n >\n <div className=\"components-date-picker-calendar-popup-panel\" data-testid=\"components-date-picker-calendar-popup-panel\">\n <DatePicker selected={workingDate} onDateChange={handleOnDateChanged} showFocusOutline={showFocusOutline} />\n {timeDisplay &&\n <div className=\"time-container\">\n <BodyText className=\"time-label\">{timeLabelRef.current}</BodyText>\n <TimeField time={timeSpec} timeDisplay={timeDisplay} onTimeChange={handleOnTimeChanged} />\n </div>\n }\n </div>\n </Popup >\n {!!displayEditField && <DateField style={fieldStyle} className={fieldClassName} initialDate={workingDate} timeDisplay={timeDisplay} dateFormatter={dateFormatter} onDateChange={handleOnDateChanged} />}\n </>\n );\n}\n"]}
1
+ {"version":3,"file":"DatePickerPopupButton.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/DatePickerPopupButton.tsx"],"names":[],"mappings":"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","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Date\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { DateFormatter, RelativePosition, SpecialKey, TimeDisplay } from \"@itwin/appui-abstract\";\r\nimport { BodyText, CommonProps, Popup } from \"@itwin/core-react\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport { DatePicker } from \"./DatePicker\";\r\nimport { DateField } from \"./DateField\";\r\nimport { TimeField, TimeSpec } from \"./TimeField\";\r\nimport \"./DatePickerPopupButton.scss\";\r\n\r\n/** Props used by [[DatePickerPopupButton]] component.\r\n * @alpha */\r\nexport interface DatePickerPopupButtonProps extends CommonProps {\r\n /** Date to be shown as the selected date. */\r\n selected: Date;\r\n /** If true show the date (and optionally time) edit field next to button */\r\n displayEditField?: boolean;\r\n // If defined show time in popup and also display time if input field is shown\r\n timeDisplay?: TimeDisplay;\r\n /** Function called when Date changes. */\r\n onDateChange?: (day: Date) => void;\r\n /** Optional tooltip */\r\n buttonToolTip?: string;\r\n /* Custom date formatter. WARNING: if used values will only be shown in specified format and will not be based on locale.\r\n * If used the existence of a parseDate function will determine if the edit field allows editing. */\r\n dateFormatter?: DateFormatter;\r\n /** User defined class name for edit field. */\r\n fieldClassName?: string;\r\n /** User defined style for edit field. */\r\n fieldStyle?: React.CSSProperties;\r\n}\r\n\r\n/** Component that displays a button used to pick a date and optionally a time.\r\n * @alpha\r\n * */\r\nexport function DatePickerPopupButton({ displayEditField, timeDisplay, selected, onDateChange, dateFormatter,\r\n buttonToolTip, fieldStyle, fieldClassName, style }: DatePickerPopupButtonProps) {\r\n const [workingDate, setWorkingDate] = React.useState(new Date(selected.getTime()));\r\n const [isSettingsOpen, setIsSettingsOpen] = React.useState(false);\r\n const timeLabelRef = React.useRef(UiComponents.translate(\"datepicker.time\"));\r\n const toolTipLabelRef = React.useRef(UiComponents.translate(\"datepicker.selectDate\"));\r\n const toolTipLabel = React.useMemo(() => buttonToolTip ? buttonToolTip : toolTipLabelRef.current, [buttonToolTip]);\r\n\r\n // See if props have changed since component mounted\r\n React.useEffect(() => {\r\n const newWorkingDate = new Date(selected.getTime());\r\n setWorkingDate(newWorkingDate);\r\n }, [selected]);\r\n\r\n const buttonRef = React.useRef<HTMLButtonElement>(null);\r\n const togglePopupDisplay = React.useCallback((event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {\r\n event.preventDefault();\r\n setShowFocusOutline(false);\r\n setIsSettingsOpen((prev) => !prev);\r\n }, [setIsSettingsOpen]);\r\n\r\n const handleCloseSetting = React.useCallback(() => {\r\n setIsSettingsOpen(false);\r\n }, [setIsSettingsOpen]);\r\n\r\n const handleOnDateChanged = (day: Date) => {\r\n // combine current time into selected Date\r\n const newWorkingDate = new Date(day.getTime());\r\n newWorkingDate.setHours(workingDate.getHours(), workingDate.getMinutes(), workingDate.getSeconds());\r\n onDateChange && onDateChange(newWorkingDate);\r\n !timeDisplay && setIsSettingsOpen(false);\r\n };\r\n\r\n const handleOnTimeChanged = (time: TimeSpec) => {\r\n // Combine new time into selected Date\r\n const newWorkingDate = new Date(workingDate.getTime());\r\n newWorkingDate.setHours(time.hours, time.minutes, time.seconds);\r\n setWorkingDate(newWorkingDate);\r\n onDateChange && onDateChange(newWorkingDate);\r\n };\r\n\r\n const [showFocusOutline, setShowFocusOutline] = React.useState(false);\r\n const handlePopupKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLButtonElement>) => {\r\n // istanbul ignore else\r\n if (event.key === SpecialKey.Space) {\r\n setShowFocusOutline(true);\r\n setIsSettingsOpen(true);\r\n }\r\n }, []);\r\n\r\n const timeSpec: TimeSpec = { hours: workingDate.getHours(), minutes: workingDate.getMinutes(), seconds: workingDate.getSeconds() };\r\n return (\r\n <>\r\n <button title={toolTipLabel} style={style} className=\"components-date-picker-calendar-popup-button\" onKeyDown={handlePopupKeyDown}\r\n data-testid=\"components-date-picker-calendar-popup-button\" onPointerDown={togglePopupDisplay} ref={buttonRef}>\r\n <div className=\"datepicker-button\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 16 16\">\r\n <path d=\"M13,13H9V10h4ZM16,3V15a1,1,0,0,1-1,1H1a1,1,0,0,1-1-1V3A1,1,0,0,1,1,2H3V0H4V2h8V0h1V2h2A1,1,0,0,1,16,3ZM15,6H1v9H15Z\" />\r\n </svg>\r\n </div>\r\n </button>\r\n <Popup\r\n isOpen={isSettingsOpen}\r\n position={RelativePosition.BottomLeft}\r\n onClose={handleCloseSetting}\r\n target={buttonRef.current}\r\n closeOnEnter={false}\r\n moveFocus={showFocusOutline}\r\n closeOnNestedPopupOutsideClick\r\n >\r\n <div className=\"components-date-picker-calendar-popup-panel\" data-testid=\"components-date-picker-calendar-popup-panel\">\r\n <DatePicker selected={workingDate} onDateChange={handleOnDateChanged} showFocusOutline={showFocusOutline} />\r\n {timeDisplay &&\r\n <div className=\"time-container\">\r\n <BodyText className=\"time-label\">{timeLabelRef.current}</BodyText>\r\n <TimeField time={timeSpec} timeDisplay={timeDisplay} onTimeChange={handleOnTimeChanged} />\r\n </div>\r\n }\r\n </div>\r\n </Popup >\r\n {!!displayEditField && <DateField style={fieldStyle} className={fieldClassName} initialDate={workingDate} timeDisplay={timeDisplay} dateFormatter={dateFormatter} onDateChange={handleOnDateChanged} />}\r\n </>\r\n );\r\n}\r\n"]}
@@ -1,58 +1,58 @@
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 "~@itwin/core-react/lib/cjs/core-react/index";
6
- @import "~@itwin/itwinui-css/scss/style/typography";
7
-
8
- .components-date-picker-calendar-popup-button {
9
- color: $buic-foreground-body;
10
- font-size: $iui-font-size;
11
- background-color: transparent;
12
- height: 2.2em;
13
- border: none;
14
- margin-right: 2px;
15
-
16
- .datepicker-button {
17
- width: 16px;
18
- height: 16px;
19
- }
20
-
21
- svg {
22
- fill: $buic-foreground-body;
23
- }
24
-
25
- &:hover {
26
- color: $buic-foreground-primary-tone;
27
- cursor: auto;
28
-
29
- svg {
30
- fill: $buic-foreground-primary-tone;
31
- }
32
- }
33
-
34
- &:focus {
35
- box-shadow: $uicore-button-focus-boxshadow;
36
- outline: none;
37
- }
38
- }
39
-
40
- .components-date-picker-calendar-popup-panel {
41
- display: flex;
42
- flex-direction: column;
43
- background-color: $buic-background-control;
44
-
45
- .time-container {
46
- display: flex;
47
- flex-direction: row;
48
- align-items: center;
49
- justify-content: center;
50
- border-top: 2px solid $buic-inputs-border;
51
- padding-top: 8px;
52
- padding-bottom: 8px;
53
-
54
- .time-label {
55
- margin-right: 4px;
56
- }
57
- }
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 "~@itwin/core-react/lib/cjs/core-react/index";
6
+ @import "~@itwin/itwinui-css/scss/style/typography";
7
+
8
+ .components-date-picker-calendar-popup-button {
9
+ color: $buic-foreground-body;
10
+ font-size: $iui-font-size;
11
+ background-color: transparent;
12
+ height: 2.2em;
13
+ border: none;
14
+ margin-right: 2px;
15
+
16
+ .datepicker-button {
17
+ width: 16px;
18
+ height: 16px;
19
+ }
20
+
21
+ svg {
22
+ fill: $buic-foreground-body;
23
+ }
24
+
25
+ &:hover {
26
+ color: $buic-foreground-primary-tone;
27
+ cursor: auto;
28
+
29
+ svg {
30
+ fill: $buic-foreground-primary-tone;
31
+ }
32
+ }
33
+
34
+ &:focus {
35
+ box-shadow: $uicore-button-focus-boxshadow;
36
+ outline: none;
37
+ }
38
+ }
39
+
40
+ .components-date-picker-calendar-popup-panel {
41
+ display: flex;
42
+ flex-direction: column;
43
+ background-color: $buic-background-control;
44
+
45
+ .time-container {
46
+ display: flex;
47
+ flex-direction: row;
48
+ align-items: center;
49
+ justify-content: center;
50
+ border-top: 2px solid $buic-inputs-border;
51
+ padding-top: 8px;
52
+ padding-bottom: 8px;
53
+
54
+ .time-label {
55
+ margin-right: 4px;
56
+ }
57
+ }
58
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IntlFormatter.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/IntlFormatter.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACxB,YAAoB,cAAoC;QAApC,mBAAc,GAAd,cAAc,CAAsB;IACxD,CAAC;IAED,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,+DAA+D;YAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EACrD;gBACE,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS,EAAG,0BAA0B;gBAC9C,4BAA4B,CAAC,qBAAqB;aACnD,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,WAAW,CAAC,GAAS;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;CAKF","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 { DateFormatter } from \"@itwin/appui-abstract\";\n\n/**\n * A basic class that allows user to provide an Intl.DateTimeFormat\n * that can be used to format the date and time display. If no format is\n * specified a default format will be used. This default implementation does not\n * support parsing, so when used by [[DatePickerPopup]] the edit field will be readonly. If\n * a parseData function is implemented then the edit field will be editable.\n * @alpha\n */\nexport class IntlFormatter implements DateFormatter {\n constructor(private _intlFormatter?: Intl.DateTimeFormat) {\n }\n\n public get formatter(): Intl.DateTimeFormat {\n if (!this._intlFormatter) {\n // https://tc39.es/ecma402/#sec-intl-datetimeformat-constructor\n this._intlFormatter = new Intl.DateTimeFormat(undefined,\n {\n weekday: \"short\", /* \"narrow\", \"short\", \"long\" */\n year: \"numeric\", /* \"2-digit\", \"numeric\" */\n month: \"2-digit\", /* \"2-digit\", \"numeric\", \"narrow\", \"short\", \"long\" */\n day: \"2-digit\", /* \"2-digit\", \"numeric\" */\n hour: \"numeric\", /* \"2-digit\", \"numeric\" */\n hour12: true,\n minute: \"numeric\", /* \"2-digit\", \"numeric\" */\n second: \"numeric\", /* \"2-digit\", \"numeric\" */\n /* timeZoneName:\t\"short\", */ /* \"short\", \"long\" */\n });\n }\n return this._intlFormatter;\n }\n\n public formateDate(day: Date) {\n return this.formatter.format(day);\n }\n\n // The default implementation does not currently support parsing. If a derived class supports parsing then the\n // parseDate function must be implemented.\n // parseDate(dateString: string): Date|undefined {}\n}\n\n"]}
1
+ {"version":3,"file":"IntlFormatter.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/IntlFormatter.ts"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAIH;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IACxB,YAAoB,cAAoC;QAApC,mBAAc,GAAd,cAAc,CAAsB;IACxD,CAAC;IAED,IAAW,SAAS;QAClB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,+DAA+D;YAC/D,IAAI,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,cAAc,CAAC,SAAS,EACrD;gBACE,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,SAAS;gBACf,KAAK,EAAE,SAAS;gBAChB,GAAG,EAAE,SAAS;gBACd,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI;gBACZ,MAAM,EAAE,SAAS;gBACjB,MAAM,EAAE,SAAS,EAAG,0BAA0B;gBAC9C,4BAA4B,CAAC,qBAAqB;aACnD,CAAC,CAAC;SACN;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAEM,WAAW,CAAC,GAAS;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;CAKF","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Date\r\n */\r\n\r\nimport { DateFormatter } from \"@itwin/appui-abstract\";\r\n\r\n/**\r\n * A basic class that allows user to provide an Intl.DateTimeFormat\r\n * that can be used to format the date and time display. If no format is\r\n * specified a default format will be used. This default implementation does not\r\n * support parsing, so when used by [[DatePickerPopup]] the edit field will be readonly. If\r\n * a parseData function is implemented then the edit field will be editable.\r\n * @alpha\r\n */\r\nexport class IntlFormatter implements DateFormatter {\r\n constructor(private _intlFormatter?: Intl.DateTimeFormat) {\r\n }\r\n\r\n public get formatter(): Intl.DateTimeFormat {\r\n if (!this._intlFormatter) {\r\n // https://tc39.es/ecma402/#sec-intl-datetimeformat-constructor\r\n this._intlFormatter = new Intl.DateTimeFormat(undefined,\r\n {\r\n weekday: \"short\", /* \"narrow\", \"short\", \"long\" */\r\n year: \"numeric\", /* \"2-digit\", \"numeric\" */\r\n month: \"2-digit\", /* \"2-digit\", \"numeric\", \"narrow\", \"short\", \"long\" */\r\n day: \"2-digit\", /* \"2-digit\", \"numeric\" */\r\n hour: \"numeric\", /* \"2-digit\", \"numeric\" */\r\n hour12: true,\r\n minute: \"numeric\", /* \"2-digit\", \"numeric\" */\r\n second: \"numeric\", /* \"2-digit\", \"numeric\" */\r\n /* timeZoneName:\t\"short\", */ /* \"short\", \"long\" */\r\n });\r\n }\r\n return this._intlFormatter;\r\n }\r\n\r\n public formateDate(day: Date) {\r\n return this.formatter.format(day);\r\n }\r\n\r\n // The default implementation does not currently support parsing. If a derived class supports parsing then the\r\n // parseDate function must be implemented.\r\n // parseDate(dateString: string): Date|undefined {}\r\n}\r\n\r\n"]}
@@ -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 { Input } from \"@itwin/itwinui-react\";\nimport { SpecialKey, 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(intText: string, min: number, max: number, defaultValue: number) {\n try {\n const newValue = parseInt(intText, 10);\n if (newValue >= min && newValue <= max)\n 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 a.hours === b.hours && a.minutes === b.minutes && a.seconds === b.seconds;\n}\n\n/** Field used to set the Hour:Minutes:Seconds in the [[DataPicker]] 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({ time, timeDisplay, readOnly, onTimeChange }: TimeFieldProps) {\n const initialDateRef = React.useRef(time);\n const amLabelRef = React.useRef(UiComponents.translate(\"timepicker.day-period-am\"));\n const pmLabelRef = React.useRef(UiComponents.translate(\"timepicker.day-period-pm\"));\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((timeHours: number) => {\n if (!showDayPeriod) {\n return timeHours;\n }\n const outHours = (0 === timeHours) ? 12 : timeHours > 12 ? timeHours - 12 : timeHours;\n return outHours;\n }, [showDayPeriod]);\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(showDayPeriod ? (hours >= 12 ? pmLabelRef.current : amLabelRef.current) : undefined);\n const [hoursText, setHoursText] = React.useState(displayHour.toString().padStart(2, \"0\"));\n const [minutesText, setMinutesText] = React.useState(minutes.toString().padStart(2, \"0\"));\n const [secondsText, setSecondsText] = React.useState(seconds.toString().padStart(2, \"0\"));\n\n const updateTimeSpec = React.useCallback((newTime: TimeSpec) => {\n if (newTime.hours !== timeSpec.hours || newTime.minutes !== timeSpec.minutes || newTime.seconds !== timeSpec.seconds) {\n setTimeSpec(newTime);\n onTimeChange && onTimeChange(newTime);\n }\n }, [onTimeChange, timeSpec.hours, timeSpec.minutes, timeSpec.seconds]);\n\n const handleHoursChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setHoursText(event.currentTarget.value);\n }, []);\n\n const handleMinutesChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setMinutesText(event.currentTarget.value);\n }, []);\n const handleSecondsChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setSecondsText(event.currentTarget.value);\n }, []);\n const handleDayPeriodChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\n setDayPeriodText(event.currentTarget.value);\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 && setDayPeriodText(newHours >= 12 ? pmLabelRef.current : amLabelRef.current);\n }, [getDisplayHours, hours, hoursText, showDayPeriod, timeSpec, updateTimeSpec]);\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 (dayPeriodText === \"AM\" || dayPeriodText === \"am\" || dayPeriodText === amLabelRef.current)\n newPeriodText = amLabelRef.current;\n else if (dayPeriodText === \"PM\" || dayPeriodText === \"pm\" || dayPeriodText === pmLabelRef.current)\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\n }, [dayPeriodText, hours, timeSpec, updateTimeSpec]);\n\n const handleHoursOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === SpecialKey.ArrowDown || event.key === SpecialKey.ArrowUp) {\n let newHours = hours + (event.key === SpecialKey.ArrowDown ? -1 : 1);\n if (newHours < 0) newHours = 24;\n if (newHours > 24 || (newHours > 23 && ((minutes + seconds) > 0))) newHours = 0;\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod && setDayPeriodText(newHours >= 12 ? pmLabelRef.current : amLabelRef.current);\n event.preventDefault();\n } else if (event.key === SpecialKey.Enter) {\n const newHours = getValidInt(hoursText, 0, 24, hours);\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, hours: newHours });\n showDayPeriod && setDayPeriodText(newHours >= 12 ? pmLabelRef.current : amLabelRef.current);\n event.preventDefault();\n }\n }, [getDisplayHours, hours, hoursText, minutes, seconds, showDayPeriod, timeSpec, updateTimeSpec]);\n\n const handleMinutesOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === SpecialKey.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 === SpecialKey.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 === SpecialKey.Home || event.key === SpecialKey.End) {\n const newMinutes = event.key === SpecialKey.Home ? 0 : 59;\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\n event.preventDefault();\n } else /* istanbul ignore next */ if (event.key === SpecialKey.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 }, [minutesText, minutes, timeSpec, updateTimeSpec]);\n\n const handleSecondsOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n // istanbul ignore else\n if (event.key === SpecialKey.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 === SpecialKey.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 === SpecialKey.Home || event.key === SpecialKey.End) {\n const newSeconds = event.key === SpecialKey.Home ? 0 : 59;\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\n event.preventDefault();\n } else if (event.key === SpecialKey.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 }, [seconds, secondsText, timeSpec, updateTimeSpec]);\n\n const handleDayPeriodOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\n let newPeriodText: string | undefined;\n // istanbul ignore else\n if (event.key === SpecialKey.ArrowDown || event.key === SpecialKey.Home || event.key === \"a\" || event.key === \"A\") {\n newPeriodText = amLabelRef.current;\n event.preventDefault();\n } else if (event.key === SpecialKey.ArrowUp || event.key === SpecialKey.End || event.key === \"p\" || event.key === \"P\") {\n newPeriodText = pmLabelRef.current;\n event.preventDefault();\n } else if (event.key === SpecialKey.Enter) {\n if (dayPeriodText === \"AM\" || dayPeriodText === \"am\" || dayPeriodText === amLabelRef.current)\n newPeriodText = amLabelRef.current;\n else if (dayPeriodText === \"PM\" || dayPeriodText === \"pm\" || dayPeriodText === pmLabelRef.current)\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 }, [dayPeriodText, hours, timeSpec, updateTimeSpec]);\n\n const showSeconds = -1 !== (timeDisplay as string).search(\":ss\");\n\n return <div data-testid=\"components-time-input\" className=\"components-time\">\n <Input className=\"components-time-input\" onKeyDown={handleHoursOnKeyDown} onBlur={handleHoursOnBlur} onChange={handleHoursChange} value={hoursText} disabled={readOnly} />\n <span className=\"component-time-separator\">:</span>\n <Input className=\"components-time-input\" onKeyDown={handleMinutesOnKeyDown} onBlur={handleMinutesOnBlur} onChange={handleMinutesChange} value={minutesText} disabled={readOnly} />\n {showSeconds &&\n <>\n <span className=\"component-time-separator\">:</span>\n <Input className=\"components-time-input\" onKeyDown={handleSecondsOnKeyDown} onBlur={handleSecondsOnBlur} onChange={handleSecondsChange} value={secondsText} disabled={readOnly} />\n </>\n }\n {dayPeriodText &&\n <Input className=\"components-time-period-input\" onKeyDown={handleDayPeriodOnKeyDown} onBlur={handleDayPeriodOnBlur} onChange={handleDayPeriodChange} value={dayPeriodText} disabled={readOnly} />\n }\n </div>;\n}\n"]}
1
+ {"version":3,"file":"TimeField.js","sourceRoot":"","sources":["../../../../src/components-react/datepicker/TimeField.tsx"],"names":[],"mappings":"AAAA;;;+FAG+F;AAC/F;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAe,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,kBAAkB,CAAC;AAsB1B,SAAS,WAAW,CAAC,OAAe,EAAE,GAAW,EAAE,GAAW,EAAE,YAAoB;IAClF,IAAI;QACF,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvC,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG;YACpC,OAAO,QAAQ,CAAC;KACnB;IAAC,OAAO,EAAE,EAAE;QACX,uBAAuB;QACvB,OAAO,YAAY,CAAC;KACrB;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,UAAU,CAAC,CAAW,EAAE,CAAW;IAC1C,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,CAAC;AACnF,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAkB;IACrF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpF,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpF,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IAC7C,MAAM,aAAa,GAAG,CAAC,CAAC,KAAM,WAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAElE,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,SAAiB,EAAE,EAAE;QAC9D,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,SAAS,CAAC;SAClB;QACD,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;QACtF,OAAO,QAAQ,CAAC;IAClB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,oEAAoE;IACpE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,EAAE;YAC7C,WAAW,CAAC,IAAI,CAAC,CAAC;YAClB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;SAC/B;IACH,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9I,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1F,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE1F,MAAM,cAAc,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,OAAiB,EAAE,EAAE;QAC7D,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,EAAE;YACpH,WAAW,CAAC,OAAO,CAAC,CAAC;YACrB,YAAY,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;SACvC;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAEvE,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAE,EAAE;QACzF,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAE,EAAE;QAC3F,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAE,EAAE;QAC3F,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA0C,EAAE,EAAE;QAC7F,gBAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,iBAAiB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QACtD,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACpE,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjD,aAAa,IAAI,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9F,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACjF,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACjD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5D,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IACrD,MAAM,qBAAqB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACnD,IAAI,aAAiC,CAAC;QACtC,uBAAuB;QACvB,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO;YAC1F,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;aAChC,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO;YAC/F,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;QAErC,uBAAuB;QACvB,IAAI,SAAS,KAAK,aAAa,EAAE;YAC/B,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAChC,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO,IAAI,KAAK,GAAG,EAAE,EAAE;gBACtD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;aACpD;iBAAM,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO,IAAI,KAAK,IAAI,EAAE,EAAE;gBAC9D,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;aACpD;SACF;IAEH,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAErD,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA4C,EAAE,EAAE;QAC9F,uBAAuB;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,OAAO,EAAE;YAC1E,IAAI,QAAQ,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACrE,IAAI,QAAQ,GAAG,CAAC;gBAAE,QAAQ,GAAG,EAAE,CAAC;YAChC,IAAI,QAAQ,GAAG,EAAE,IAAI,CAAC,QAAQ,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAAE,QAAQ,GAAG,CAAC,CAAC;YAChF,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,aAAa,IAAI,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5F,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,EAAE;YACzC,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;YACtD,YAAY,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACpE,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,aAAa,IAAI,gBAAgB,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YAC5F,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAEnG,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA4C,EAAE,EAAE;QAChG,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,SAAS,EAAE;YACtC,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,OAAO,EAAE;YAC3C,MAAM,UAAU,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE;YACxE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,0BAA0B,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,EAAE;YACpE,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5D,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAErD,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA4C,EAAE,EAAE;QAChG,uBAAuB;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,SAAS,EAAE;YACtC,MAAM,UAAU,GAAG,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,OAAO,EAAE;YAC3C,MAAM,UAAU,GAAG,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YACpD,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,EAAE;YACxE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,EAAE;YACzC,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;YAC5D,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YACvD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACrD,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAErD,MAAM,wBAAwB,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,KAA4C,EAAE,EAAE;QAClG,IAAI,aAAiC,CAAC;QACtC,uBAAuB;QACvB,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YACjH,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE;YACrH,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;aAAM,IAAI,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,EAAE;YACzC,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO;gBAC1F,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;iBAChC,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO;gBAC/F,aAAa,GAAG,UAAU,CAAC,OAAO,CAAC;YACrC,KAAK,CAAC,cAAc,EAAE,CAAC;SACxB;QACD,uBAAuB;QACvB,IAAI,SAAS,KAAK,aAAa,EAAE;YAC/B,gBAAgB,CAAC,aAAa,CAAC,CAAC;YAChC,0BAA0B;YAC1B,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO,IAAI,KAAK,GAAG,EAAE,EAAE;gBACtD,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;aACpD;iBAAM,IAAI,aAAa,KAAK,UAAU,CAAC,OAAO,IAAI,KAAK,IAAI,EAAE,EAAE;gBAC9D,cAAc,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,CAAC,CAAC;aACpD;SACF;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC,CAAC;IAErD,MAAM,WAAW,GAAG,CAAC,CAAC,KAAM,WAAsB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjE,OAAO,4CAAiB,uBAAuB,EAAC,SAAS,EAAC,iBAAiB;QACzE,oBAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,EAAC,SAAS,EAAE,oBAAoB,EAAE,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,GAAI;QAC1K,8BAAM,SAAS,EAAC,0BAA0B,QAAS;QACnD,oBAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,EAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAI;QACjL,WAAW;YACV;gBACE,8BAAM,SAAS,EAAC,0BAA0B,QAAS;gBACnD,oBAAC,KAAK,IAAC,SAAS,EAAC,uBAAuB,EAAC,SAAS,EAAE,sBAAsB,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,GAAI,CACjL;QAEJ,aAAa;YACZ,oBAAC,KAAK,IAAC,SAAS,EAAC,8BAA8B,EAAC,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,GAAI,CAE/L,CAAC;AACT,CAAC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Date\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { Input } from \"@itwin/itwinui-react\";\r\nimport { SpecialKey, TimeDisplay } from \"@itwin/appui-abstract\";\r\nimport { UiComponents } from \"../UiComponents\";\r\nimport \"./TimeField.scss\";\r\n\r\n/** Interface used to hold 24 hour time in\r\n * hours, minutes, and seconds.\r\n * @internal\r\n */\r\nexport interface TimeSpec {\r\n hours: number;\r\n minutes: number;\r\n seconds: number;\r\n}\r\n\r\n/** Interface for props used by [[TimeField]] component.\r\n * @internal\r\n */\r\nexport interface TimeFieldProps {\r\n time: TimeSpec;\r\n timeDisplay: TimeDisplay;\r\n onTimeChange?: (time: TimeSpec) => void;\r\n readOnly?: boolean;\r\n}\r\n\r\nfunction getValidInt(intText: string, min: number, max: number, defaultValue: number) {\r\n try {\r\n const newValue = parseInt(intText, 10);\r\n if (newValue >= min && newValue <= max)\r\n return newValue;\r\n } catch (_e) {\r\n // istanbul ignore next\r\n return defaultValue;\r\n }\r\n return defaultValue;\r\n}\r\n\r\nfunction isSameTime(a: TimeSpec, b: TimeSpec) {\r\n return a.hours === b.hours && a.minutes === b.minutes && a.seconds === b.seconds;\r\n}\r\n\r\n/** Field used to set the Hour:Minutes:Seconds in the [[DataPicker]] Popup panel. The user may key-in the value or use up/down keys to\r\n * change the time.\r\n * @internal\r\n */\r\nexport function TimeField({ time, timeDisplay, readOnly, onTimeChange }: TimeFieldProps) {\r\n const initialDateRef = React.useRef(time);\r\n const amLabelRef = React.useRef(UiComponents.translate(\"timepicker.day-period-am\"));\r\n const pmLabelRef = React.useRef(UiComponents.translate(\"timepicker.day-period-pm\"));\r\n const [timeSpec, setTimeSpec] = React.useState(time);\r\n const { hours, minutes, seconds } = timeSpec;\r\n const showDayPeriod = -1 !== (timeDisplay as string).search(\"aa\");\r\n\r\n const getDisplayHours = React.useCallback((timeHours: number) => {\r\n if (!showDayPeriod) {\r\n return timeHours;\r\n }\r\n const outHours = (0 === timeHours) ? 12 : timeHours > 12 ? timeHours - 12 : timeHours;\r\n return outHours;\r\n }, [showDayPeriod]);\r\n\r\n // See if new initialDate props have changed since component mounted\r\n React.useEffect(() => {\r\n if (!isSameTime(time, initialDateRef.current)) {\r\n setTimeSpec(time);\r\n initialDateRef.current = time;\r\n }\r\n }, [time]);\r\n\r\n const displayHour = getDisplayHours(hours);\r\n const [dayPeriodText, setDayPeriodText] = React.useState(showDayPeriod ? (hours >= 12 ? pmLabelRef.current : amLabelRef.current) : undefined);\r\n const [hoursText, setHoursText] = React.useState(displayHour.toString().padStart(2, \"0\"));\r\n const [minutesText, setMinutesText] = React.useState(minutes.toString().padStart(2, \"0\"));\r\n const [secondsText, setSecondsText] = React.useState(seconds.toString().padStart(2, \"0\"));\r\n\r\n const updateTimeSpec = React.useCallback((newTime: TimeSpec) => {\r\n if (newTime.hours !== timeSpec.hours || newTime.minutes !== timeSpec.minutes || newTime.seconds !== timeSpec.seconds) {\r\n setTimeSpec(newTime);\r\n onTimeChange && onTimeChange(newTime);\r\n }\r\n }, [onTimeChange, timeSpec.hours, timeSpec.minutes, timeSpec.seconds]);\r\n\r\n const handleHoursChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setHoursText(event.currentTarget.value);\r\n }, []);\r\n\r\n const handleMinutesChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setMinutesText(event.currentTarget.value);\r\n }, []);\r\n const handleSecondsChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setSecondsText(event.currentTarget.value);\r\n }, []);\r\n const handleDayPeriodChange = React.useCallback((event: React.ChangeEvent<HTMLInputElement>) => {\r\n setDayPeriodText(event.currentTarget.value);\r\n }, []);\r\n\r\n const handleHoursOnBlur = React.useCallback(() => {\r\n const newHours = getValidInt(hoursText, 0, 24, hours);\r\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, hours: newHours });\r\n showDayPeriod && setDayPeriodText(newHours >= 12 ? pmLabelRef.current : amLabelRef.current);\r\n }, [getDisplayHours, hours, hoursText, showDayPeriod, timeSpec, updateTimeSpec]);\r\n const handleMinutesOnBlur = React.useCallback(() => {\r\n const newMinutes = getValidInt(minutesText, 0, 59, minutes);\r\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\r\n }, [minutes, minutesText, timeSpec, updateTimeSpec]);\r\n const handleSecondsOnBlur = React.useCallback(() => {\r\n const newSeconds = getValidInt(secondsText, 0, 59, seconds);\r\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\r\n }, [seconds, secondsText, timeSpec, updateTimeSpec]);\r\n const handleDayPeriodOnBlur = React.useCallback(() => {\r\n let newPeriodText: string | undefined;\r\n // istanbul ignore else\r\n if (dayPeriodText === \"AM\" || dayPeriodText === \"am\" || dayPeriodText === amLabelRef.current)\r\n newPeriodText = amLabelRef.current;\r\n else if (dayPeriodText === \"PM\" || dayPeriodText === \"pm\" || dayPeriodText === pmLabelRef.current)\r\n newPeriodText = pmLabelRef.current;\r\n\r\n // istanbul ignore else\r\n if (undefined !== newPeriodText) {\r\n setDayPeriodText(newPeriodText);\r\n if (newPeriodText === amLabelRef.current && hours > 12) {\r\n updateTimeSpec({ ...timeSpec, hours: hours - 12 });\r\n } else if (newPeriodText === pmLabelRef.current && hours <= 11) {\r\n updateTimeSpec({ ...timeSpec, hours: hours + 12 });\r\n }\r\n }\r\n\r\n }, [dayPeriodText, hours, timeSpec, updateTimeSpec]);\r\n\r\n const handleHoursOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\r\n // istanbul ignore else\r\n if (event.key === SpecialKey.ArrowDown || event.key === SpecialKey.ArrowUp) {\r\n let newHours = hours + (event.key === SpecialKey.ArrowDown ? -1 : 1);\r\n if (newHours < 0) newHours = 24;\r\n if (newHours > 24 || (newHours > 23 && ((minutes + seconds) > 0))) newHours = 0;\r\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, hours: newHours });\r\n showDayPeriod && setDayPeriodText(newHours >= 12 ? pmLabelRef.current : amLabelRef.current);\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.Enter) {\r\n const newHours = getValidInt(hoursText, 0, 24, hours);\r\n setHoursText(getDisplayHours(newHours).toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, hours: newHours });\r\n showDayPeriod && setDayPeriodText(newHours >= 12 ? pmLabelRef.current : amLabelRef.current);\r\n event.preventDefault();\r\n }\r\n }, [getDisplayHours, hours, hoursText, minutes, seconds, showDayPeriod, timeSpec, updateTimeSpec]);\r\n\r\n const handleMinutesOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\r\n if (event.key === SpecialKey.ArrowDown) {\r\n const newMinutes = minutes === 0 ? 59 : minutes - 1;\r\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.ArrowUp) {\r\n const newMinutes = minutes === 59 ? 0 : minutes + 1;\r\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.Home || event.key === SpecialKey.End) {\r\n const newMinutes = event.key === SpecialKey.Home ? 0 : 59;\r\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\r\n event.preventDefault();\r\n } else /* istanbul ignore next */ if (event.key === SpecialKey.Enter) {\r\n const newMinutes = getValidInt(minutesText, 0, 59, minutes);\r\n setMinutesText(newMinutes.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, minutes: newMinutes });\r\n event.preventDefault();\r\n }\r\n }, [minutesText, minutes, timeSpec, updateTimeSpec]);\r\n\r\n const handleSecondsOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\r\n // istanbul ignore else\r\n if (event.key === SpecialKey.ArrowDown) {\r\n const newSeconds = seconds === 0 ? 59 : seconds - 1;\r\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.ArrowUp) {\r\n const newSeconds = seconds === 59 ? 0 : seconds + 1;\r\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.Home || event.key === SpecialKey.End) {\r\n const newSeconds = event.key === SpecialKey.Home ? 0 : 59;\r\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.Enter) {\r\n const newSeconds = getValidInt(secondsText, 0, 59, seconds);\r\n setSecondsText(newSeconds.toString().padStart(2, \"0\"));\r\n updateTimeSpec({ ...timeSpec, seconds: newSeconds });\r\n event.preventDefault();\r\n }\r\n }, [seconds, secondsText, timeSpec, updateTimeSpec]);\r\n\r\n const handleDayPeriodOnKeyDown = React.useCallback((event: React.KeyboardEvent<HTMLInputElement>) => {\r\n let newPeriodText: string | undefined;\r\n // istanbul ignore else\r\n if (event.key === SpecialKey.ArrowDown || event.key === SpecialKey.Home || event.key === \"a\" || event.key === \"A\") {\r\n newPeriodText = amLabelRef.current;\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.ArrowUp || event.key === SpecialKey.End || event.key === \"p\" || event.key === \"P\") {\r\n newPeriodText = pmLabelRef.current;\r\n event.preventDefault();\r\n } else if (event.key === SpecialKey.Enter) {\r\n if (dayPeriodText === \"AM\" || dayPeriodText === \"am\" || dayPeriodText === amLabelRef.current)\r\n newPeriodText = amLabelRef.current;\r\n else if (dayPeriodText === \"PM\" || dayPeriodText === \"pm\" || dayPeriodText === pmLabelRef.current)\r\n newPeriodText = pmLabelRef.current;\r\n event.preventDefault();\r\n }\r\n // istanbul ignore else\r\n if (undefined !== newPeriodText) {\r\n setDayPeriodText(newPeriodText);\r\n /* istanbul ignore else */\r\n if (newPeriodText === amLabelRef.current && hours > 12) {\r\n updateTimeSpec({ ...timeSpec, hours: hours - 12 });\r\n } else if (newPeriodText === pmLabelRef.current && hours <= 11) {\r\n updateTimeSpec({ ...timeSpec, hours: hours + 12 });\r\n }\r\n }\r\n }, [dayPeriodText, hours, timeSpec, updateTimeSpec]);\r\n\r\n const showSeconds = -1 !== (timeDisplay as string).search(\":ss\");\r\n\r\n return <div data-testid=\"components-time-input\" className=\"components-time\">\r\n <Input className=\"components-time-input\" onKeyDown={handleHoursOnKeyDown} onBlur={handleHoursOnBlur} onChange={handleHoursChange} value={hoursText} disabled={readOnly} />\r\n <span className=\"component-time-separator\">:</span>\r\n <Input className=\"components-time-input\" onKeyDown={handleMinutesOnKeyDown} onBlur={handleMinutesOnBlur} onChange={handleMinutesChange} value={minutesText} disabled={readOnly} />\r\n {showSeconds &&\r\n <>\r\n <span className=\"component-time-separator\">:</span>\r\n <Input className=\"components-time-input\" onKeyDown={handleSecondsOnKeyDown} onBlur={handleSecondsOnBlur} onChange={handleSecondsChange} value={secondsText} disabled={readOnly} />\r\n </>\r\n }\r\n {dayPeriodText &&\r\n <Input className=\"components-time-period-input\" onKeyDown={handleDayPeriodOnKeyDown} onBlur={handleDayPeriodOnBlur} onChange={handleDayPeriodChange} value={dayPeriodText} disabled={readOnly} />\r\n }\r\n </div>;\r\n}\r\n"]}