@talxis/base-controls 1.2406.16 → 1.2407.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Grid-574c3822.js +1 -0
- package/dist/components/DateTime/DateTime.js +1 -1
- package/dist/components/DateTime/components/Calendar.d.ts +8 -3
- package/dist/components/DateTime/components/Calendar.js +1 -0
- package/dist/components/DateTime/hooks/useDateTime.d.ts +29 -4
- package/dist/components/DateTime/hooks/useDateTime.js +1 -0
- package/dist/components/DateTime/index.d.ts +3 -0
- package/dist/components/DateTime/index.js +1 -0
- package/dist/components/DateTime/interfaces.d.ts +4 -25
- package/dist/components/DateTime/interfaces.js +1 -0
- package/dist/components/DateTime/styles.d.ts +1 -4
- package/dist/components/DateTime/styles.js +1 -0
- package/dist/components/DateTime/translations.d.ts +19 -3
- package/dist/components/DateTime/translations.js +1 -0
- package/dist/components/Decimal/Decimal.js +1 -1
- package/dist/components/Decimal/components/ArrowButtons.d.ts +10 -0
- package/dist/components/Decimal/components/ArrowButtons.js +1 -0
- package/dist/components/Decimal/components/styles.d.ts +20 -0
- package/dist/components/Decimal/components/styles.js +1 -0
- package/dist/components/Decimal/index.d.ts +2 -0
- package/dist/components/Decimal/index.js +1 -0
- package/dist/components/Decimal/interfaces.d.ts +5 -5
- package/dist/components/Decimal/interfaces.js +1 -0
- package/dist/components/Duration/Duration.js +1 -1
- package/dist/components/Duration/index.d.ts +2 -0
- package/dist/components/Duration/index.js +1 -0
- package/dist/components/Duration/interfaces.d.ts +6 -24
- package/dist/components/Duration/interfaces.js +1 -0
- package/dist/components/Duration/translations.d.ts +26 -2
- package/dist/components/Duration/translations.js +1 -0
- package/dist/components/Grid/Grid.d.ts +1 -3
- package/dist/components/Grid/Grid.js +1 -10
- package/dist/components/Grid/GridContext.d.ts +3 -0
- package/dist/components/Grid/GridContext.js +1 -0
- package/dist/components/Grid/constants.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/styles.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.d.ts +1 -1
- package/dist/components/Grid/core/components/AgGrid/controllers/useAgGridController.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +1 -1
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +1 -0
- package/dist/components/Grid/core/components/AgGrid/styles.d.ts +14 -4
- package/dist/components/Grid/core/components/AgGrid/styles.js +1 -0
- package/dist/components/Grid/core/components/Cell/Commands/Commands.d.ts +1 -1
- package/dist/components/Grid/core/components/Cell/Commands/Commands.js +1 -0
- package/dist/components/Grid/core/components/Cell/Commands/Icon.js +1 -0
- package/dist/components/Grid/core/components/Cell/Commands/styles.js +1 -0
- package/dist/components/Grid/core/components/Cell/Commands/useCommands.d.ts +1 -1
- package/dist/components/Grid/core/components/Cell/Commands/useCommands.js +1 -0
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.d.ts +1 -1
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js +1 -0
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js +1 -0
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.d.ts +1 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.js +1 -0
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/styles.js +1 -0
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/styles.js +1 -0
- package/dist/components/Grid/core/components/Component/Component.d.ts +4 -4
- package/dist/components/Grid/core/components/Component/Component.js +1 -0
- package/dist/components/Grid/core/components/Component/controller/useComponentController.d.ts +5 -5
- package/dist/components/Grid/core/components/Component/controller/useComponentController.js +1 -0
- package/dist/components/Grid/core/components/Component/model/Component.d.ts +3 -4
- package/dist/components/Grid/core/components/Component/model/Component.js +1 -0
- package/dist/components/Grid/core/components/Dialog/Constants.js +1 -0
- package/dist/components/Grid/core/components/Dialog/Styles.js +1 -0
- package/dist/components/Grid/core/components/Dialog/index.js +1 -0
- package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +6 -0
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js +1 -0
- package/dist/components/Grid/core/components/Save/Save.js +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/RecordGrids.js +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +1 -0
- package/dist/components/Grid/core/components/Save/hooks/useSave.js +1 -0
- package/dist/components/Grid/core/components/Save/styles.js +1 -0
- package/dist/components/Grid/core/controllers/useGridController.js +1 -0
- package/dist/components/Grid/core/enums/ConditionOperator.js +1 -0
- package/dist/components/Grid/core/enums/DataType.d.ts +1 -0
- package/dist/components/Grid/core/enums/DataType.js +1 -0
- package/dist/components/Grid/core/hooks/useGridInstance.js +1 -0
- package/dist/components/Grid/core/hooks/useRefreshCallback.js +1 -0
- package/dist/components/Grid/core/hooks/useRerender.js +1 -0
- package/dist/components/Grid/core/interfaces/IGridColumn.js +1 -0
- package/dist/components/Grid/core/interfaces/IGridContext.js +1 -0
- package/dist/components/Grid/core/model/Grid.d.ts +5 -6
- package/dist/components/Grid/core/model/Grid.js +1 -0
- package/dist/components/Grid/core/model/GridDependency.d.ts +3 -3
- package/dist/components/Grid/core/model/GridDependency.js +1 -0
- package/dist/components/Grid/core/model/Metadata.d.ts +1 -1
- package/dist/components/Grid/core/model/Metadata.js +1 -0
- package/dist/components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js +1 -0
- package/dist/components/Grid/core/services/RecordUpdateService/model/RecordUpdateService.js +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/styles.js +1 -0
- package/dist/components/Grid/filtering/constants.js +1 -0
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +1 -0
- package/dist/components/Grid/filtering/model/Condition.d.ts +1 -1
- package/dist/components/Grid/filtering/model/Condition.js +1 -0
- package/dist/components/Grid/filtering/model/Filtering.js +1 -0
- package/dist/components/Grid/filtering/utils/FilteringUtilts.js +1 -0
- package/dist/components/Grid/index.d.ts +2 -0
- package/dist/components/Grid/index.js +1 -0
- package/dist/components/Grid/interfaces.d.ts +6 -233
- package/dist/components/Grid/interfaces.js +1 -0
- package/dist/components/Grid/paging/components/Paging/Paging.js +1 -0
- package/dist/components/Grid/paging/components/Paging/styles.js +1 -0
- package/dist/components/Grid/paging/controllers/usePagingController.js +1 -0
- package/dist/components/Grid/paging/model/Paging.js +1 -0
- package/dist/components/Grid/selection/controllers/useSelectionController.js +1 -0
- package/dist/components/Grid/selection/model/Selection.d.ts +1 -1
- package/dist/components/Grid/selection/model/Selection.js +1 -0
- package/dist/components/Grid/sorting/Sorting.d.ts +1 -1
- package/dist/components/Grid/sorting/Sorting.js +1 -0
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +1 -0
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +1 -0
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +1 -1
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +1 -0
- package/dist/components/Grid/translations.d.ts +306 -2
- package/dist/components/Grid/translations.js +1 -0
- package/dist/components/Grid/validation/controllers/useRecordValidationController.d.ts +1 -1
- package/dist/components/Grid/validation/controllers/useRecordValidationController.js +1 -0
- package/dist/components/Grid/validation/model/ColumnValidation.js +1 -0
- package/dist/components/Lookup/Lookup.js +1 -1
- package/dist/components/Lookup/components/RecordCreator.js +1 -0
- package/dist/components/Lookup/components/TargetSelector.d.ts +2 -3
- package/dist/components/Lookup/components/TargetSelector.js +1 -0
- package/dist/components/Lookup/hooks/useFetchXml.d.ts +1 -1
- package/dist/components/Lookup/hooks/useFetchXml.js +1 -0
- package/dist/components/Lookup/hooks/useLoadedEntities.js +1 -0
- package/dist/components/Lookup/hooks/useLookup.d.ts +35 -5
- package/dist/components/Lookup/hooks/useLookup.js +1 -0
- package/dist/components/Lookup/index.d.ts +3 -0
- package/dist/components/Lookup/index.js +1 -0
- package/dist/components/Lookup/interfaces.d.ts +5 -23
- package/dist/components/Lookup/interfaces.js +1 -0
- package/dist/components/Lookup/styles.d.ts +8 -15
- package/dist/components/Lookup/styles.js +1 -0
- package/dist/components/Lookup/translations.d.ts +30 -2
- package/dist/components/Lookup/translations.js +1 -0
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +1 -1
- package/dist/components/MultiSelectOptionSet/index.d.ts +2 -0
- package/dist/components/MultiSelectOptionSet/index.js +1 -0
- package/dist/components/MultiSelectOptionSet/interfaces.d.ts +5 -4
- package/dist/components/MultiSelectOptionSet/interfaces.js +1 -0
- package/dist/components/OptionSet/OptionSet.js +1 -1
- package/dist/components/OptionSet/index.d.ts +2 -0
- package/dist/components/OptionSet/index.js +1 -0
- package/dist/components/OptionSet/interfaces.d.ts +5 -6
- package/dist/components/OptionSet/interfaces.js +1 -0
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextField/index.d.ts +2 -0
- package/dist/components/TextField/index.js +1 -0
- package/dist/components/TextField/interfaces.d.ts +4 -5
- package/dist/components/TextField/interfaces.js +1 -0
- package/dist/components/TwoOptions/TwoOptions.js +1 -1
- package/dist/components/TwoOptions/index.js +1 -0
- package/dist/components/TwoOptions/interfaces.d.ts +3 -4
- package/dist/components/TwoOptions/interfaces.js +1 -0
- package/dist/constants.js +1 -0
- package/dist/hooks/index.d.ts +6 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useControl.d.ts +23 -0
- package/dist/hooks/useControl.js +1 -0
- package/dist/hooks/useControlSizing.d.ts +5 -0
- package/dist/hooks/useControlSizing.js +1 -0
- package/dist/hooks/useControlTheme.d.ts +3 -0
- package/dist/hooks/useControlTheme.js +1 -0
- package/dist/hooks/useFocusIn.d.ts +1 -1
- package/dist/hooks/useFocusIn.js +1 -1
- package/dist/hooks/{useInputBasedComponent.d.ts → useInputBasedControl.d.ts} +6 -6
- package/dist/hooks/useInputBasedControl.js +1 -0
- package/dist/index.d.ts +793 -14
- package/dist/index.js +1 -0
- package/dist/interfaces/context.d.ts +9 -7
- package/dist/interfaces/context.js +1 -0
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/parameters.d.ts +6 -2
- package/dist/interfaces/parameters.js +1 -0
- package/dist/interfaces/property.d.ts +1 -1
- package/dist/interfaces/property.js +1 -0
- package/dist/interfaces/theme.d.ts +6 -0
- package/dist/interfaces/theme.js +1 -0
- package/dist/utils/Numeral.d.ts +1 -1
- package/dist/{Numeral-a0284afb.js → utils/Numeral.js} +1 -1
- package/dist/utils/Theme.d.ts +4 -0
- package/dist/utils/Theme.js +1 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +1 -0
- package/package.json +25 -26
- package/dist/Lookup-4b87c562.js +0 -1
- package/dist/components/Lookup/lib.d.ts +0 -1164
- package/dist/components/TextField/hooks/useTextField.d.ts +0 -1
- package/dist/hooks/useComponent.d.ts +0 -15
- package/dist/hooks/useComponent.js +0 -1
- package/dist/hooks/useComponentSizing.d.ts +0 -5
- package/dist/hooks/useComponentSizing.js +0 -1
- package/dist/hooks/useInputBasedComponent.js +0 -1
- package/dist/types/index.d.ts +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as e,jsx as o,Fragment as t}from"react/jsx-runtime";import{useEffect as r,useState as n,useRef as s,useMemo as a}from"react";import{useControl as i}from"./hooks/useControl.js";import{useControlTheme as c}from"./hooks/useControlTheme.js";import{Grid as d}from"./components/Grid/core/model/Grid.js";import{AgGridReact as l}from"@ag-grid-community/react";import{useTheme as m,Text as g,Icon as p,DialogFooter as u,PrimaryButton as v,Spinner as b,SpinnerSize as h,MessageBar as f,MessageBarType as j,CommandBarButton as O,mergeStyleSets as C,ThemeProvider as G}from"@fluentui/react";import{useSelectionController as R}from"./components/Grid/selection/controllers/useSelectionController.js";import{useGridInstance as y}from"./components/Grid/core/hooks/useGridInstance.js";import{getGridStyles as w}from"./components/Grid/core/components/AgGrid/styles.js";import{useAgGridController as N}from"./components/Grid/core/components/AgGrid/controllers/useAgGridController.js";import{Paging as S}from"./components/Grid/paging/components/Paging/Paging.js";import{EmptyRecords as E}from"./components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js";import{useSave as x}from"./components/Grid/core/components/Save/hooks/useSave.js";import{getSaveStyles as I}from"./components/Grid/core/components/Save/styles.js";import{useRecordUpdateServiceController as D}from"./components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js";import P from"./components/Grid/core/components/Dialog/index.js";import{__awaiter as V}from"tslib";import{gridTranslations as k}from"./components/Grid/translations.js";import{GridContext as M}from"./components/Grid/GridContext.js";import{getRecordGridStyles as _}from"./components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js";import{getChangeEditorStyles as T}from"./components/Grid/core/components/Save/components/ChangeEditor/styles.js";import{LoadingOverlay as F}from"./components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js";import{usePagingController as A}from"./components/Grid/paging/controllers/usePagingController.js";const B=t=>{const r=y(),n=Object.assign({},t.record),s=_(m()),a={context:Object.assign(Object.assign({},r.pcfContext),{mode:Object.assign(Object.assign({},r.pcfContext.mode),{setControlState:e=>!1})}),state:{},parameters:{EnableFiltering:{raw:!1},EnablePagination:{raw:!1},EnableSorting:{raw:!1},EnableNavigation:{raw:!1},SelectableRows:{type:"static",raw:"none"},Grid:Object.assign(Object.assign({},r.dataset),{sorting:[],columns:[...n.columns.values()],filtering:Object.assign(Object.assign({},r.dataset.filtering),{getFilter:()=>({conditions:[],filterOperator:0})}),getSelectedRecordIds:()=>[],paging:Object.assign(Object.assign({},r.dataset.paging),{pageSize:1})})}},i=(()=>{const e=[];for(const o of n.columns.values())n.isValid(o.name)||e.push(o);return e})(),c=i.length>0;return e("div",Object.assign({className:s.root},{children:[e("div",Object.assign({className:s.readOnlyGrid},{children:[o("div",Object.assign({className:s.gridTitleWrapper},{children:o(g,Object.assign({title:n.getOriginalFormattedPrimaryNameValue(),variant:"large"},{children:n.getOriginalFormattedPrimaryNameValue()}))})),o(W,Object.assign({},a,{parameters:Object.assign(Object.assign({},a.parameters),{ChangeEditorMode:{raw:"read",error:c},Grid:Object.assign(Object.assign({},a.parameters.Grid),{error:c,errorMessage:c?r.labels["saving-validation-error"]({columnDisplayNames:i.map((e=>e.displayName)).join(", ")}):void 0,records:{[n.getRecordId()]:(e=>({getFormattedValue:o=>e.getOriginalFormattedValue(o),getRecordId:()=>e.getRecordId(),getNamedReference:()=>e.getNamedReference(),getValue:o=>e.getOriginalValue(o),save:()=>V(void 0,void 0,void 0,(function*(){yield e.save(),r.pcfContext.factory.requestRender()})),setValue:(o,t)=>{e.clear(),r.pcfContext.factory.requestRender()}}))(n)}})})}))]})),o(p,{iconName:"DoubleChevronDown8"}),o("div",Object.assign({className:s.editableGrid},{children:o(W,Object.assign({},a,{parameters:Object.assign(Object.assign({},a.parameters),{ChangeEditorMode:{raw:"edit"},EnableEditing:{raw:!0},Grid:Object.assign(Object.assign({},a.parameters.Grid),{records:{[n.getRecordId()]:(e=>({getFormattedValue:o=>e.getFormattedValue(o),getRecordId:()=>e.getRecordId(),getNamedReference:()=>e.getNamedReference(),getValue:o=>e.getValue(o),save:()=>{throw new Error("Should not be called!")},setValue:(o,t)=>{e.setValue(o,t),r.pcfContext.factory.requestRender()}}))(n)}})})}))}))]}))},L=t=>{const n=y().labels,s=D(),{isSaving:a,saveBtnProps:i,save:c}=x(),d=s.updatedRecords,l=T(m());return r((()=>{var e;0===d.length&&(null===(e=t.onDismiss)||void 0===e||e.call(t))}),[d]),e(P,Object.assign({},t,{width:1e3,minWidth:"80%",modalProps:{isBlocking:!0,className:l.root,layerProps:{eventBubblingEnabled:!0}},dialogContentProps:{showCloseButton:!0,title:n["saving-changepreview-title"]({numOfChanges:d.length})},hidden:!1},{children:[o("div",Object.assign({className:l.recordGrids},{children:d.map((e=>o(B,{record:e},e.getRecordId())))})),o(u,{children:o(v,Object.assign({className:l.saveBtn,text:i.text,disabled:i.disabled,onClick:()=>c()},{children:a&&o(b,{size:h.small})}))})]}))},z=()=>{const r=y(),s=r.labels,a=I(),{isDirty:i,updatedRecords:c,hasInvalidRecords:d,clearAll:l}=D(),{isSaving:m,saveBtnProps:g,save:p}=x(),[u,v]=n(!1);return e(t,{children:[o("div",Object.assign({onClick:()=>{i&&v(!0)},className:a.root,"data-dirty":i},{children:o(f,Object.assign({messageBarType:d?j.error:j.info,actions:e("div",Object.assign({className:a.actions},{children:[o(O,{text:m?g.text:void 0,disabled:g.disabled,onRenderIcon:m?()=>o(b,{size:h.small}):void 0,iconProps:{iconName:g.iconName},onClick:e=>{e.stopPropagation(),p()}}),o(O,{disabled:g.disabled&&!d&&!r.props.parameters.ChangeEditorMode,iconProps:{iconName:"Delete"},onClick:e=>{e.stopPropagation(),l()}})]})),isMultiline:!1},{children:i&&o("span",{className:a.notificationText,dangerouslySetInnerHTML:{__html:s["saving-changenotification"]({numOfChanges:c.length})}})}))})),u&&o(L,{onDismiss:e=>{"Escape"!==(null==e?void 0:e.code)&&v(!1)}})]})},H=()=>{var r,n;const a=y(),i=R(),c=s(),d=s(null),g=m();let{agColumns:p,records:u,maxNumberOfVisibleRecords:v,stateRef:b,getTotalColumnsWidth:h,onGridReady:O}=N(c);const C=A(),G=w(g,v,a.useContainerAsHeight),x=()=>{const e=(()=>{var e,o;const t=null===(e=d.current)||void 0===e?void 0:e.querySelector(".ag-root-wrapper");return null!==(o=null==t?void 0:t.clientWidth)&&void 0!==o?o:0})();e>h()&&c.current.sizeColumnsToFit()};return o("div",Object.assign({ref:d,className:`${G.root} ag-theme-balham`},{children:p.length>0&&e(t,{children:[(a.isEditable&&"edit"!==(null===(r=a.parameters.ChangeEditorMode)||void 0===r?void 0:r.raw)||"read"===(null===(n=a.parameters.ChangeEditorMode)||void 0===n?void 0:n.raw))&&o(z,{}),a.error&&o(f,Object.assign({messageBarType:j.error},{children:o("span",{dangerouslySetInnerHTML:{__html:a.errorMessage}})})),o(l,{animateRows:!0,rowSelection:a.selection.type,noRowsOverlayComponent:E,loadingOverlayComponent:F,suppressDragLeaveHidesColumns:!0,onColumnMoved:e=>{e.finished&&(e=>{var o;const t=null===(o=e.api.getState().columnOrder)||void 0===o?void 0:o.orderedColIds.filter((e=>!0));t&&a.pcfContext.factory.fireEvent("__updateColumnOrder",t)})(e)},reactiveCustomComponents:!0,onRowSelected:e=>{e.source.includes("api")||"gridInitializing"===e.source||i.toggle(e.data,e.node.isSelected())},onCellDoubleClicked:e=>{a.isNavigationEnabled&&!a.isEditable&&a.openDatasetItem(e.data.getNamedReference())},onCellMouseOver:e=>{var o;"__checkbox"===e.colDef.colId&&(null===(o=c.current)||void 0===o||o.setGridOption("suppressRowClickSelection",!0))},onCellMouseOut:e=>{var o;null===(o=c.current)||void 0===o||o.setGridOption("suppressRowClickSelection",!1)},getRowId:e=>e.data.getRecordId(),onGridReady:e=>{var o;c.current=e.api,a.loading&&(null===(o=c.current)||void 0===o||o.showLoadingOverlay()),x(),O()},initialState:b.current,onStateUpdated:e=>b.current=Object.assign(Object.assign({},b.current),e.state),rowHeight:42,columnDefs:p,rowData:u}),C.isEnabled&&o(S,{})]})}))},q=C({root:{displayName:"talxis__gridControl",height:"100%"}}),W=e=>{const{labels:t}=i("Grid",e,k),r=a((()=>({gridInstance:new d(e,t)})),[]);r.gridInstance.updateDependencies(e);const n=c(e.context.fluentDesignLanguage);return o(M.Provider,Object.assign({value:r},{children:o(G,Object.assign({className:`talxis__gridControl ${q.root}`,theme:n,applyTo:"none"},{children:o(H,{})}))}))};export{H as A,L as C,W as G,B as R,z as S};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{ThemeProvider as t}from"@fluentui/react";import{useRef as o,useEffect as r}from"react";import{getDateTimeStyles as n}from"./styles.js";import{useDateTime as i}from"./hooks/useDateTime.js";import{Calendar as a}from"./components/Calendar.js";import{DatePicker as s}from"@talxis/react-components";import{useControlSizing as l}from"../../hooks/useControlSizing.js";import d from"dayjs";import"../../hooks/useInputBasedControl.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react-migration-v8-v9";import"dayjs/plugin/utc";import"dayjs/plugin/customParseFormat";import"./translations.js";import"@fluentui/react/lib/Calendar";const m=m=>{var u,p,c,f,h,v;const g=o(null),y=o(null),D=m.context,T=m.parameters,[C,j,P,k,w]=i(m,g),O=n(j),{height:b,width:S}=l(m.context.mode),x=o();return r((()=>{var e,t;!0===(null===(e=m.parameters.AutoFocus)||void 0===e?void 0:e.raw)&&(null===(t=y.current)||void 0===t||t.showDatePickerPopup())}),[]),e(t,Object.assign({theme:j,applyTo:"none",ref:g},{children:e(s,{className:O.datePicker,underlined:j.effects.underlined,componentRef:y,hideErrorMessage:!(null===(u=T.ShowErrorMessage)||void 0===u?void 0:u.raw),keepCalendarOpenAfterDaySelect:C,readOnly:D.mode.isControlDisabled,allowTextInput:!0,calendarProps:{onSelectDate:e=>k.set(e)},minDate:new Date("1753-01-01T00:00:00.000Z"),firstDayOfWeek:m.context.userSettings.dateFormattingInfo.firstDayOfWeek,calendarAs:t=>{var o;return e(a,Object.assign({},t,{strings:{goToToday:P.goToToday(),days:JSON.parse(P.days()),months:JSON.parse(P.months()),shortDays:JSON.parse(P.shortDays()),shortMonths:JSON.parse(P.shortMonths())},timePickerProps:{underlined:j.effects.underlined,dateTimeFormat:w.fullDateTimePattern,autoComplete:"off",autoCapitalize:"off",timeFormat:w.shortTimePattern,label:P.time(),visible:C,errorMessage:P.invalidTimeInput(),lastInputedTimeString:x.current,useHour12:w.shortTimePattern.endsWith("A"),onChange:e=>{k.set(void 0,e),x.current=e},value:k.get(),formattedDateTime:null!==(o=k.getFormatted())&&void 0!==o?o:"",strings:{invalidInputErrorMessage:P.invalidTimeInput()}}}))},errorMessage:T.value.errorMessage,textField:{underlined:j.effects.underlined,value:null!==(p=k.getFormatted())&&void 0!==p?p:"",onChange:(e,t)=>{var o;if(C){const e=d(t,w.shortDatePattern).format(w.shortDatePattern),r=null===(o=null==t?void 0:t.split(e).pop())||void 0===o?void 0:o.substring(1);x.current=r}k.setDateString(t)},placeholder:"---",onNotifyValidationResult:()=>null,noValidate:!0,borderless:!1===(null===(c=T.EnableBorder)||void 0===c?void 0:c.raw),styles:{fieldGroup:{height:b,width:S}},deleteButtonProps:!0===(null===(f=T.EnableDeleteButton)||void 0===f?void 0:f.raw)?{key:"Delete",onClick:k.clear,showOnlyOnHover:!0,iconProps:{iconName:"Cancel"}}:void 0,clickToCopyProps:!0===(null===(h=T.EnableCopyButton)||void 0===h?void 0:h.raw)?{key:"copy",showOnlyOnHover:!0,iconProps:{iconName:"Copy"}}:void 0},value:null!==(v=k.get())&&void 0!==v?v:new Date})}))};export{m as DateTime};
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import { ICalendarProps } from "@fluentui/react
|
|
3
|
-
import { ITimePickerProps } from "@
|
|
4
|
-
interface IInternalTimePickerProps extends ITimePickerProps {
|
|
2
|
+
import { ICalendarProps } from "@fluentui/react";
|
|
3
|
+
import { ITimePickerProps } from "@talxis/react-components";
|
|
4
|
+
interface IInternalTimePickerProps extends Omit<ITimePickerProps, 'onChange' | 'defaultValue'> {
|
|
5
|
+
formattedDateTime: string;
|
|
5
6
|
visible: boolean;
|
|
6
7
|
timeFormat: string;
|
|
8
|
+
dateTimeFormat: string;
|
|
9
|
+
underlined?: boolean;
|
|
10
|
+
lastInputedTimeString?: string;
|
|
11
|
+
onChange: (time?: string) => void;
|
|
7
12
|
}
|
|
8
13
|
interface IInternalCalendarProps extends ICalendarProps {
|
|
9
14
|
timePickerProps: IInternalTimePickerProps;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useTheme as r}from"@fluentui/react";import{Calendar as a}from"@fluentui/react/lib/Calendar";import{useRef as o,useState as i,useEffect as n}from"react";import{getDateTimeStyles as m}from"../styles.js";import{TimePicker as s}from"@talxis/react-components";import l from"dayjs";const c=c=>{const u=c.timePickerProps,d=u.formattedDateTime,f=r(),p=m(f),g=o(null),[v,b]=i(!1),F=()=>{var t;const e=l(d,u.dateTimeFormat,!0);return e.isValid()?null!==(t=e.format(u.timeFormat))&&void 0!==t?t:"":u.lastInputedTimeString};return n((()=>{if(b(!1),!u.visible)return;const t=F();if(g.current.setState({currentPendingValue:F()}),!t||!d)return;l(t,u.timeFormat,!0).isValid()||b(!0)}),[d]),t("div",Object.assign({className:p.calendarCallout},{children:[e(a,Object.assign({},c,{value:c.value})),e("hr",{}),u.visible&&e(s,Object.assign({},u,{errorMessage:v?u.errorMessage:void 0,componentRef:g,onFormatDate:t=>l(t).format(u.timeFormat),onChange:(t,e)=>{const r=l(e);let a;a=r.isValid()?r.format(u.timeFormat):g.current.state.currentPendingValue,u.onChange(a)},useComboBoxAsMenuWidth:!0,styles:{callout:{maxHeight:"300px !important"}},increments:15,allowFreeform:!0}))]}))};export{c as Calendar};
|
|
@@ -1,6 +1,31 @@
|
|
|
1
|
-
import { IDateTime
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { IDateTime } from "../interfaces";
|
|
2
|
+
import { ITranslation } from "../../../hooks";
|
|
3
|
+
import { ITheme } from "../../../interfaces/theme";
|
|
4
|
+
export declare const useDateTime: (props: IDateTime, ref: React.RefObject<HTMLDivElement>) => [boolean, ITheme, ITranslation<Partial<import("../../..").ITranslations<{
|
|
5
|
+
time: {
|
|
6
|
+
1029: string;
|
|
7
|
+
1033: string;
|
|
8
|
+
};
|
|
9
|
+
goToToday: {
|
|
10
|
+
1029: string;
|
|
11
|
+
1033: string;
|
|
12
|
+
};
|
|
13
|
+
invalidTimeInput: {
|
|
14
|
+
1029: string;
|
|
15
|
+
1033: string;
|
|
16
|
+
};
|
|
17
|
+
days: string[];
|
|
18
|
+
months: string[];
|
|
19
|
+
shortDays: string[];
|
|
20
|
+
shortMonths: string[];
|
|
21
|
+
}>>>, {
|
|
22
|
+
get: () => Date | undefined;
|
|
23
|
+
getFormatted: () => string | undefined;
|
|
24
|
+
set: (date?: Date, time?: string) => void;
|
|
25
|
+
setDateString: (value: string | undefined) => void;
|
|
26
|
+
clear: () => void;
|
|
27
|
+
}, {
|
|
4
28
|
shortDatePattern: string;
|
|
5
29
|
shortTimePattern: string;
|
|
6
|
-
|
|
30
|
+
fullDateTimePattern: string;
|
|
31
|
+
}];
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useRef as t,useEffect as e}from"react";import{useInputBasedControl as r}from"../../../hooks/useInputBasedControl.js";import a from"dayjs";import o from"dayjs/plugin/utc";import n from"dayjs/plugin/customParseFormat";import{getDefaultDateTimeTranslations as i}from"../translations.js";import"../../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../../hooks/useControlTheme.js";import"../../../utils/Theme.js";import"@fluentui/react";import"@fluentui/react-migration-v8-v9";import"../../../hooks/useControlSizing.js";a.extend(n),a.extend(o);const s=(o,n)=>{const s=o.parameters.value,u=o.context,m=s.attributes.Behavior,l=s.attributes.Format,c=u.userSettings.dateFormattingInfo,p=t(void 0),f=(()=>{switch(l){case"DateAndTime":case"Date and Time":case"DateAndTime.DateAndTime":case"datetime":return!0;default:return!1}})(),d=c.shortDatePattern.replace(/\//g,c.dateSeparator).toUpperCase(),g=c.shortTimePattern.replace(/:/g,c.timeSeparator).replace("tt","A"),h=f?`${d} ${g}`:d,{value:D,labels:v,theme:T,setValue:j,onNotifyOutputChanged:S}=r("DateTime",o,{formatter:t=>t instanceof Date?f?u.formatting.formatTime(t,m):u.formatting.formatDateShort(t):t,defaultTranslations:i(o.context.userSettings.dateFormattingInfo)});e((()=>{var t;const e=()=>{S({value:y(D)})},r=null===(t=n.current)||void 0===t?void 0:t.querySelector("input");return null==r||r.addEventListener("blur",e),()=>{null==r||r.removeEventListener("blur",e)}}),[D]),e((()=>{s.raw instanceof Date&&(p.current=s.raw)}),[s.raw]);const w=()=>{if(s.raw instanceof Date){if(3===m){return new Date(s.raw.toISOString().replace("Z",""))}return s.raw}if(s.error)return p.current},y=t=>{if(t instanceof Date)return t;const e=a(t,h,!0);return e.isValid()?e.toDate():t};return[f,T,v,{get:w,clear:()=>{S({value:void 0})},getFormatted:()=>D,set:(t,e)=>{let r=a(null!=t?t:w());e||(e=a(w()).format(g));const o=a(e,g,!0);let n;o.isValid()||(n=`${r.format(d)} ${e}`),r=r.hour(o.hour()),r=r.minute(o.minute()),S({value:y(null!=n?n:r.toDate())})},setDateString:j},{shortDatePattern:d,shortTimePattern:g,fullDateTimePattern:`${d} ${g}`}]};export{s as useDateTime};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{DateTime}from"./DateTime.js";export{useDateTime}from"./hooks/useDateTime.js";import"react/jsx-runtime";import"@fluentui/react";import"react";import"./styles.js";import"./components/Calendar.js";import"@fluentui/react/lib/Calendar";import"@talxis/react-components";import"dayjs";import"../../hooks/useControlSizing.js";import"../../hooks/useInputBasedControl.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react-migration-v8-v9";import"dayjs/plugin/utc";import"dayjs/plugin/customParseFormat";import"./translations.js";
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { IDatePickerProps } from "@talxis/react-components";
|
|
1
2
|
import { IDateTimeProperty } from "../../interfaces";
|
|
2
|
-
import {
|
|
3
|
+
import { IControl, IOutputs, ITranslations } from "../../interfaces/context";
|
|
3
4
|
import { IInputParameters } from "../../interfaces/parameters";
|
|
4
|
-
|
|
5
|
+
import { getDefaultDateTimeTranslations } from "./translations";
|
|
6
|
+
export interface IDateTime extends IControl<IDateTimeParameters, IDateTimeOutputs, Partial<ITranslations<ReturnType<typeof getDefaultDateTimeTranslations>>>, IDatePickerProps> {
|
|
5
7
|
}
|
|
6
8
|
export interface IDateTimeParameters extends IInputParameters {
|
|
7
9
|
value: IDateTimeProperty;
|
|
@@ -9,26 +11,3 @@ export interface IDateTimeParameters extends IInputParameters {
|
|
|
9
11
|
export interface IDateTimeOutputs extends IOutputs {
|
|
10
12
|
value?: Date;
|
|
11
13
|
}
|
|
12
|
-
export interface IDateTimeTranslations extends ITranslations {
|
|
13
|
-
time?: {
|
|
14
|
-
[LCID: number]: string;
|
|
15
|
-
};
|
|
16
|
-
goToToday?: {
|
|
17
|
-
[LCID: number]: string;
|
|
18
|
-
};
|
|
19
|
-
invalidTimeInput?: {
|
|
20
|
-
[LCID: number]: string;
|
|
21
|
-
};
|
|
22
|
-
days?: {
|
|
23
|
-
[LCID: number]: string[];
|
|
24
|
-
} | string[];
|
|
25
|
-
months?: {
|
|
26
|
-
[LCID: number]: string[];
|
|
27
|
-
} | string[];
|
|
28
|
-
shortDays?: {
|
|
29
|
-
[LCID: number]: string[];
|
|
30
|
-
} | string[];
|
|
31
|
-
shortMonths?: {
|
|
32
|
-
[LCID: number]: string[];
|
|
33
|
-
} | string[];
|
|
34
|
-
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -6,7 +6,7 @@ export declare const getDateTimeStyles: (theme: ITheme) => import("@fluentui/rea
|
|
|
6
6
|
};
|
|
7
7
|
};
|
|
8
8
|
calendarCallout: {
|
|
9
|
-
'
|
|
9
|
+
'[class*="TALXIS__timepicker__root"]': {
|
|
10
10
|
padding: number;
|
|
11
11
|
label: {
|
|
12
12
|
paddingTop: number;
|
|
@@ -24,9 +24,6 @@ export declare const getDateTimeStyles: (theme: ITheme) => import("@fluentui/rea
|
|
|
24
24
|
'[class^="monthAndYear"], [class*="weekDayLabelCell"]': {
|
|
25
25
|
animationDuration: string;
|
|
26
26
|
};
|
|
27
|
-
'[class^="dayCell"]:focus': {
|
|
28
|
-
outline: string;
|
|
29
|
-
};
|
|
30
27
|
'.ms-DatePicker': {
|
|
31
28
|
animationDuration: string;
|
|
32
29
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeStyleSets as a}from"@fluentui/react";const e=e=>a({datePicker:{'[class^="statusMessage"]':{display:"none"}},calendarCallout:{'[class*="TALXIS__timepicker__root"]':{padding:12,label:{paddingTop:0},i:{fontSize:16}},hr:{margin:0,border:"none",height:1,backgroundColor:e.semanticColors.menuDivider},'[class^="monthAndYear"], [class*="weekDayLabelCell"]':{animationDuration:"0s"},".ms-DatePicker":{animationDuration:"0s"}}});export{e as getDateTimeStyles};
|
|
@@ -1,3 +1,19 @@
|
|
|
1
|
-
/// <reference types="
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/// <reference types="powerapps-component-framework" />
|
|
2
|
+
export declare const getDefaultDateTimeTranslations: (dateFormattingInfo: ComponentFramework.UserSettingApi.DateFormattingInfo) => {
|
|
3
|
+
time: {
|
|
4
|
+
1029: string;
|
|
5
|
+
1033: string;
|
|
6
|
+
};
|
|
7
|
+
goToToday: {
|
|
8
|
+
1029: string;
|
|
9
|
+
1033: string;
|
|
10
|
+
};
|
|
11
|
+
invalidTimeInput: {
|
|
12
|
+
1029: string;
|
|
13
|
+
1033: string;
|
|
14
|
+
};
|
|
15
|
+
days: string[];
|
|
16
|
+
months: string[];
|
|
17
|
+
shortDays: string[];
|
|
18
|
+
shortMonths: string[];
|
|
19
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=t=>({time:{1029:"Čas",1033:"Time"},goToToday:{1029:"Přejít na dnešek",1033:"Go to today"},invalidTimeInput:{1029:"Neplatný časový formát.",1033:"Invalid time format."},days:t.dayNames,months:t.monthNames,shortDays:t.shortestDayNames,shortMonths:t.abbreviatedMonthNames});export{t as getDefaultDateTimeTranslations};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{TextField as r}from"@talxis/react-components
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{TextField as r}from"@talxis/react-components";import{useInputBasedControl as t}from"../../hooks/useInputBasedControl.js";import{useRef as o,useEffect as n,useMemo as a}from"react";import i from"numeral";import{Numeral as l}from"../../utils/Numeral.js";import{CURRENCY_POSITIVE_PATTERN as s,CURRENCY_NEGATIVE_PATTERN as u,NUMBER_NEGATIVE_PATTERN as c}from"../../constants.js";import{ThemeProvider as m}from"@fluentui/react";import{ArrowButtons as p}from"./components/ArrowButtons.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react-migration-v8-v9";import"../../hooks/useControlSizing.js";import"./components/styles.js";const d=d=>{var v,f,y,g,b,h;const w=o(null),C=d.context,D=d.parameters,k=D.value,P=C.userSettings.numberFormattingInfo,j=null!==(v=d.onOverrideComponentProps)&&void 0!==v?v:e=>e,$=(e,r)=>new RegExp(`^${S(e).replace("n",r)}$`.replace(/\s/g,"")),B=(e,r)=>{const t=S(e),o=`(${S(P.currencySymbol)})?`,n=t.replace("\\$",o).replace("n",r);return new RegExp(`^${n.replace(/\s/g,"")}$`)},S=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),x=e=>{var r;if("number"==typeof e)return e;const t=null==e?void 0:e.replace(/\s/g,"");let o,n;switch(l.decimal(P),d.parameters.value.type){case"Whole.None":{const e=`\\d{1,}(${P.numberGroupSeparator}\\d{1,})*`;o=$("n",e),n=$(c[P.numberNegativePattern],e);break}case"Decimal":{const e=`\\d{1,}(${P.numberGroupSeparator}\\d{1,})*(\\${P.numberDecimalSeparator}\\d+)?`;o=$("n",e),n=$(c[P.numberNegativePattern],e);break}case"Currency":{l.currency(P);const e=`\\d{1,}(${P.currencyGroupSeparator}\\d{1,})*(\\${P.currencyDecimalSeparator}\\d+)?`;o=B(s[P.currencyPositivePattern],e),n=B(u[P.currencyNegativePattern],e);break}}if(o.test(t))return null!==(r=i(t).value())&&void 0!==r?r:void 0;if(n.test(t)){const e=i(t).value();return e>0?-1*e:e}return e},{value:E,sizing:N,theme:O,setValue:A,onNotifyOutputChanged:M}=t("Decimal",d,{formatter:e=>{var r,t;return"number"==typeof e?"Decimal"===d.parameters.value.type?C.formatting.formatDecimal(e,null===(r=k.attributes)||void 0===r?void 0:r.Precision):"Currency"===d.parameters.value.type?d.parameters.value.formatted?d.parameters.value.formatted:C.formatting.formatCurrency(e,null===(t=k.attributes)||void 0===t?void 0:t.Precision):C.formatting.formatInteger(e):e},valueExtractor:x}),F=e=>{var r,t,o,n,a;const i=null!==(r=k.raw)&&void 0!==r?r:0;if("number"!=typeof i)return;const l=Math.pow(10,null!==(o=null===(t=k.attributes)||void 0===t?void 0:t.Precision)&&void 0!==o?o:0),s=parseFloat((i+("increment"===e?1:-1)/l).toFixed(null!==(a=null===(n=k.attributes)||void 0===n?void 0:n.Precision)&&void 0!==a?a:0));M({value:s})};n((()=>{"Currency"===k.type&&A(k.formatted)}),[k.formatted]);const I=j({underlined:O.effects.underlined,hideErrorMessage:!(null===(f=D.ShowErrorMessage)||void 0===f?void 0:f.raw),readOnly:C.mode.isControlDisabled,inputMode:a((()=>(()=>{switch(d.parameters.value.type){case"Whole.None":return"numeric";case"Decimal":case"Currency":return"decimal"}})()),[d.parameters.value.type]),suffixItems:(()=>{var r;if(!C.mode.isControlDisabled&&(null===(r=D.EnableSpinButton)||void 0===r?void 0:r.raw))return[{key:"arrows",onRender:()=>e(p,{ref:w,onDecrement:()=>F("decrement"),onIncrement:()=>F("increment")})}]})(),autoFocus:null===(y=D.AutoFocus)||void 0===y?void 0:y.raw,borderless:!1===(null===(g=D.EnableBorder)||void 0===g?void 0:g.raw),errorMessage:k.errorMessage,styles:{fieldGroup:{height:N.height,width:N.width}},deleteButtonProps:!0===(null===(b=D.EnableDeleteButton)||void 0===b?void 0:b.raw)?{key:"delete",showOnlyOnHover:!0,iconProps:{iconName:"Delete"},onClick:()=>A(void 0)}:void 0,clickToCopyProps:!0===(null===(h=D.EnableCopyButton)||void 0===h?void 0:h.raw)?{key:"copy",showOnlyOnHover:!0,iconProps:{iconName:"Copy"}}:void 0,value:null!=E?E:"",onBlur:e=>{M({value:x(e.target.value)})},onChange:(e,r)=>{A(r)},onKeyDown:e=>{var r,t;if(!C.mode.isControlDisabled)switch(e.key){case"ArrowDown":e.preventDefault(),F("decrement"),null===(r=w.current)||void 0===r||r.setActiveBtn("down");break;case"ArrowUp":e.preventDefault(),F("increment"),null===(t=w.current)||void 0===t||t.setActiveBtn("up")}}});return e(m,Object.assign({theme:O,applyTo:"none"},{children:e(r,Object.assign({},I))}))};export{d as Decimal};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface IArrowButtonsProps {
|
|
3
|
+
onIncrement: () => void;
|
|
4
|
+
onDecrement: () => void;
|
|
5
|
+
}
|
|
6
|
+
export interface IArrowButtons {
|
|
7
|
+
setActiveBtn: (direction: 'up' | 'down') => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const ArrowButtons: React.ForwardRefExoticComponent<IArrowButtonsProps & React.RefAttributes<IArrowButtons>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{jsxs as o,jsx as t}from"react/jsx-runtime";import{useTheme as e,IconButton as n}from"@fluentui/react";import{forwardRef as r,useMemo as c,useState as i,useEffect as m,useImperativeHandle as s}from"react";import{getArrowButtonStyles as a}from"./styles.js";const l=r(((r,l)=>{const p=e(),u=c((()=>a(p)),[]),[v,d]=i(void 0),f=o=>{let t=`${u.iconButton}`;return v===o&&(t+=` ${u.iconButtonActive}`),t};return m((()=>{v&&setTimeout((()=>{d(void 0)}),100)}),[v]),s(l,(()=>({setActiveBtn:d}))),o("div",Object.assign({className:u.root},{children:[t(n,{onClick:r.onIncrement,className:f("up"),iconProps:{iconName:"ChevronUpSmall"}}),t(n,{onClick:r.onDecrement,className:f("down"),iconProps:{iconName:"ChevronDownSmall"}})]}))}));export{l as ArrowButtons};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ITheme } from "@fluentui/react";
|
|
2
|
+
export declare const getArrowButtonStyles: (theme: ITheme) => import("@fluentui/react").IProcessedStyleSet<{
|
|
3
|
+
root: {
|
|
4
|
+
display: string;
|
|
5
|
+
flexDirection: string;
|
|
6
|
+
};
|
|
7
|
+
iconButton: {
|
|
8
|
+
borderRadius: number;
|
|
9
|
+
height: string;
|
|
10
|
+
i: {
|
|
11
|
+
fontSize: number;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
iconButtonActive: {
|
|
15
|
+
backgroundColor: string;
|
|
16
|
+
i: {
|
|
17
|
+
color: string;
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{mergeStyleSets as o}from"@fluentui/react";const t=t=>o({root:{display:"flex",flexDirection:"column"},iconButton:{borderRadius:0,height:"50%",i:{fontSize:8}},iconButtonActive:{backgroundColor:t.semanticColors.buttonBackgroundPressed,i:{color:t.semanticColors.inputIconHovered}}});export{t as getArrowButtonStyles};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Decimal}from"./Decimal.js";import"react/jsx-runtime";import"@talxis/react-components";import"../../hooks/useInputBasedControl.js";import"react";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react";import"@fluentui/react-migration-v8-v9";import"../../hooks/useControlSizing.js";import"numeral";import"../../utils/Numeral.js";import"../../constants.js";import"./components/ArrowButtons.js";import"./components/styles.js";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { IDecimalNumberProperty } from "../../interfaces";
|
|
1
|
+
import { IDecimalNumberProperty, ITwoOptionsProperty } from "../../interfaces";
|
|
2
2
|
import { IInputParameters } from "../../interfaces/parameters";
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { IControl, IOutputs } from "../../interfaces/context";
|
|
4
|
+
import { ITextFieldProps } from "@talxis/react-components";
|
|
5
|
+
export interface IDecimal extends IControl<IDecimalParameters, IDecimalOutputs, any, ITextFieldProps> {
|
|
5
6
|
}
|
|
6
7
|
export interface IDecimalParameters extends IInputParameters {
|
|
7
8
|
value: IDecimalNumberProperty;
|
|
9
|
+
EnableSpinButton?: ITwoOptionsProperty;
|
|
8
10
|
}
|
|
9
11
|
export interface IDecimalOutputs extends IOutputs {
|
|
10
12
|
value?: number;
|
|
11
13
|
}
|
|
12
|
-
export interface IDecimalTranslations extends ITranslations {
|
|
13
|
-
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{ComboBox as o}from"@talxis/react-components
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{ComboBox as o}from"@talxis/react-components";import{useRef as r,useEffect as l}from"react";import{useInputBasedControl as a}from"../../hooks/useInputBasedControl.js";import{ThemeProvider as t}from"@fluentui/react";import n from"numeral";import{Numeral as i}from"../../utils/Numeral.js";import{getDefaultDurationTranslations as u}from"./translations.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react-migration-v8-v9";import"../../hooks/useControlSizing.js";const s=[{Label:"1",Value:1,Color:""},{Label:"15",Value:2,Color:""},{Label:"30",Value:3,Color:""},{Label:"45",Value:4,Color:""},{Label:"60",Value:5,Color:""},{Label:"90",Value:6,Color:""},{Label:"120",Value:7,Color:""},{Label:"150",Value:8,Color:""},{Label:"180",Value:9,Color:""},{Label:"210",Value:10,Color:""},{Label:"240",Value:11,Color:""},{Label:"270",Value:12,Color:""},{Label:"300",Value:13,Color:""},{Label:"330",Value:14,Color:""},{Label:"360",Value:15,Color:""},{Label:"390",Value:16,Color:""},{Label:"420",Value:17,Color:""},{Label:"450",Value:18,Color:""},{Label:"480",Value:19,Color:""},{Label:"1440",Value:20,Color:""},{Label:"2880",Value:21,Color:""},{Label:"4320",Value:22,Color:""}],m=m=>{var p,d;const c=m.parameters,C=c.value,b=r(null),h=m.context,f=require("humanize-duration"),g=h.userSettings.locale,V=h.userSettings.numberFormattingInfo,v=e=>{if("number"==typeof e){const o=6e4*e,r={units:e<60?["m"]:e>=1440?["d"]:["h"],maxDecimalPoints:2,language:g.slice(0,g.indexOf("-")),decimal:h.userSettings.numberFormattingInfo.numberDecimalSeparator,fallbacks:["en"]};return f(o,r)}return e},L=e=>{const o=JSON.parse(y.minute()),r=JSON.parse(y.minutes()),l=JSON.parse(y.hour()),a=JSON.parse(y.hours()),t=JSON.parse(y.day()),n=JSON.parse(y.days()),i=new RegExp("^("+o.join("|")+")\\s|\\s("+o.join("|")+")$|^("+r.join("|")+")\\s|\\s("+r.join("|")+")$","i"),u=new RegExp("^("+l.join("|")+")\\s|\\s("+l.join("|")+")$|^("+a.join("|")+")\\s|\\s("+a.join("|")+")$","i"),s=new RegExp("^("+t.join("|")+")\\s|\\s("+t.join("|")+")$|^("+n.join("|")+")\\s|\\s("+n.join("|")+")$","i");if(e&&e.trim()){let o=e.trim().toLowerCase(),r="minute";i.test(o)?o=o.replace(i,"").trim():u.test(o)?(o=o.replace(u,"").trim(),r="hour"):s.test(o)&&(o=o.replace(s,"").trim(),r="day");const l=j(o);return l&&!isNaN(l)?x(l,r):e}},j=e=>{var o;return i.decimal(V),null!==(o=n(e).value())&&void 0!==o?o:void 0},x=(e,o)=>{switch(o){case"hour":return 60*e;case"day":return 60*e*24;default:return e}},S=s.map((e=>({key:e.Value.toString(),text:v(parseInt(e.Label))}))),{value:w,labels:y,sizing:N,setValue:O,onNotifyOutputChanged:I,theme:k}=a("Duration",m,{formatter:v,valueExtractor:L,defaultTranslations:u()});return l((()=>{var e,o;(null===(e=c.AutoFocus)||void 0===e?void 0:e.raw)&&(null===(o=b.current)||void 0===o||o.focus(!0))}),[]),e(t,Object.assign({theme:k,applyTo:"none"},{children:e(o,{componentRef:b,options:S,hideErrorMessage:!(null===(p=c.ShowErrorMessage)||void 0===p?void 0:p.raw),underlined:k.effects.underlined,allowFreeInput:!0,autoComplete:"on",autofill:!0===(null===(d=c.AutoFocus)||void 0===d?void 0:d.raw)?{autoFocus:!0}:void 0,readOnly:h.mode.isControlDisabled,useComboBoxAsMenuWidth:!0,errorMessage:C.errorMessage,text:null!=w?w:"",styles:{root:{height:N.height,width:N.width,display:"flex",alignItems:"center"},callout:{height:300}},onInputValueChange:e=>{O(null!=e?e:"")},onBlur:e=>{I({value:L(w)})},onChange:(e,o)=>{var r;I({value:L(null!==(r=null==o?void 0:o.text)&&void 0!==r?r:"")})}})}))};export{m as Duration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Duration}from"./Duration.js";import"react/jsx-runtime";import"@talxis/react-components";import"react";import"../../hooks/useInputBasedControl.js";import"../../hooks/useControl.js";import"fast-deep-equal/es6";import"merge-anything";import"liquidjs";import"../../hooks/useControlTheme.js";import"../../utils/Theme.js";import"@fluentui/react";import"@fluentui/react-migration-v8-v9";import"../../hooks/useControlSizing.js";import"numeral";import"../../utils/Numeral.js";import"./translations.js";
|
|
@@ -1,31 +1,13 @@
|
|
|
1
|
+
import { IComboBoxProps } from "@talxis/react-components";
|
|
1
2
|
import { IWholeNumberProperty } from "../../interfaces";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { IControl, IOutputs, ITranslations } from "../../interfaces/context";
|
|
4
|
+
import { IInputParameters } from "../../interfaces/parameters";
|
|
5
|
+
import { getDefaultDurationTranslations } from "./translations";
|
|
6
|
+
export interface IDuration extends IControl<IDurationParameters, IDurationOutputs, Partial<ITranslations<ReturnType<typeof getDefaultDurationTranslations>>>, IComboBoxProps> {
|
|
5
7
|
}
|
|
6
|
-
export interface IDurationParameters extends
|
|
8
|
+
export interface IDurationParameters extends IInputParameters {
|
|
7
9
|
value: IWholeNumberProperty;
|
|
8
10
|
}
|
|
9
11
|
export interface IDurationOutputs extends IOutputs {
|
|
10
12
|
value?: number;
|
|
11
13
|
}
|
|
12
|
-
export interface IDurationTranslations extends ITranslations {
|
|
13
|
-
minute?: {
|
|
14
|
-
[LCID: number]: string[];
|
|
15
|
-
};
|
|
16
|
-
minutes?: {
|
|
17
|
-
[LCID: number]: string[];
|
|
18
|
-
};
|
|
19
|
-
hour?: {
|
|
20
|
-
[LCID: number]: string[];
|
|
21
|
-
};
|
|
22
|
-
hours?: {
|
|
23
|
-
[LCID: number]: string[];
|
|
24
|
-
};
|
|
25
|
-
day?: {
|
|
26
|
-
[LCID: number]: string[];
|
|
27
|
-
};
|
|
28
|
-
days?: {
|
|
29
|
-
[LCID: number]: string[];
|
|
30
|
-
};
|
|
31
|
-
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
|
@@ -1,2 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
export declare const getDefaultDurationTranslations: () => {
|
|
2
|
+
minute: {
|
|
3
|
+
1029: string[];
|
|
4
|
+
1033: string[];
|
|
5
|
+
};
|
|
6
|
+
minutes: {
|
|
7
|
+
1029: string[];
|
|
8
|
+
1033: string[];
|
|
9
|
+
};
|
|
10
|
+
hour: {
|
|
11
|
+
1029: string[];
|
|
12
|
+
1033: string[];
|
|
13
|
+
};
|
|
14
|
+
hours: {
|
|
15
|
+
1029: string[];
|
|
16
|
+
1033: string[];
|
|
17
|
+
};
|
|
18
|
+
day: {
|
|
19
|
+
1029: string[];
|
|
20
|
+
1033: string[];
|
|
21
|
+
};
|
|
22
|
+
days: {
|
|
23
|
+
1029: string[];
|
|
24
|
+
1033: string[];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const n=()=>({minute:{1029:["min","minuta","minuty","minute","minutu","minutě","minutou","minuta","minuty","minute","minutu","minute","minutou"],1033:["min","minute"]},minutes:{1029:["minuty","minut","minutám","minutách","minutami","minuty","minut","minutam","minutach","minutami"],1033:["minutes"]},hour:{1029:["hod","hodina","hodiny","hodině","hodinu","hodinou","hodina","hodiny","hodine","hodinu","hodinou"],1033:["hour"]},hours:{1029:["hodiny","hodin","hodinám","hodinách","hodinami","hodiny","hodin","hodinam","hodinach","hodinami"],1033:["hours"]},day:{1029:["den","dne","dni","dnu","dnem","den","dne","dni","dnu","dnem"],1033:["day"]},days:{1029:["dny","dnů","dnům","dnech","dny","dní","dny","dnu","dnom","dnech","dny","dni"],1033:["days"]}});export{n as getDefaultDurationTranslations};
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { IGrid } from "./interfaces";
|
|
3
|
-
import React from 'react';
|
|
4
|
-
export declare const GridContext: React.Context<IGridContext>;
|
|
5
3
|
export declare const Grid: (props: IGrid) => JSX.Element;
|