@talxis/base-controls 1.2406.16 → 1.2407.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Grid-7ed3dd4c.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.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 +2 -2
- 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 -3
- 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.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 +7 -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/stats.html +4842 -0
- 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 r}from"react/jsx-runtime";import{useEffect as t,useState as n,useRef as s,useMemo as i}from"react";import{useControl as a}from"./hooks/useControl.js";import"./utils/Theme.js";import{Grid as c}from"./components/Grid/core/model/Grid.js";import{AgGridReact as d}from"@ag-grid-community/react";import{useTheme as l,Text as m,Icon as g,DialogFooter as p,PrimaryButton as u,Spinner as v,SpinnerSize as b,MessageBar as f,MessageBarType as j,CommandBarButton as O}from"@fluentui/react";import{useSelectionController as h}from"./components/Grid/selection/controllers/useSelectionController.js";import{useGridInstance as C}from"./components/Grid/core/hooks/useGridInstance.js";import{getGridStyles as G}from"./components/Grid/core/components/AgGrid/styles.js";import{useAgGridController as R}from"./components/Grid/core/components/AgGrid/controllers/useAgGridController.js";import{Paging as y}from"./components/Grid/paging/components/Paging/Paging.js";import{EmptyRecords as w}from"./components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js";import{useSave as S}from"./components/Grid/core/components/Save/hooks/useSave.js";import{getSaveStyles as N}from"./components/Grid/core/components/Save/styles.js";import{useRecordUpdateServiceController as E}from"./components/Grid/core/services/RecordUpdateService/controllers/useRecordUpdateServiceController.js";import I from"./components/Grid/core/components/Dialog/index.js";import{__awaiter as x}from"tslib";import{gridTranslations as P}from"./components/Grid/translations.js";import{GridContext as D}from"./components/Grid/GridContext.js";import{getRecordGridStyles as V}from"./components/Grid/core/components/Save/components/ChangeEditor/components/RecordGrids/styles.js";import{getChangeEditorStyles as M}from"./components/Grid/core/components/Save/components/ChangeEditor/styles.js";import{LoadingOverlay as k}from"./components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js";import{usePagingController as F}from"./components/Grid/paging/controllers/usePagingController.js";const T=r=>{const t=C(),n=Object.assign({},r.record),s=V(l()),i={context:Object.assign(Object.assign({},t.pcfContext),{mode:Object.assign(Object.assign({},t.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({},t.dataset),{sorting:[],columns:[...n.columns.values()],filtering:Object.assign(Object.assign({},t.dataset.filtering),{getFilter:()=>({conditions:[],filterOperator:0})}),getSelectedRecordIds:()=>[],paging:Object.assign(Object.assign({},t.dataset.paging),{pageSize:1})})}},a=(()=>{const e=[];for(const o of n.columns.values())n.isValid(o.name)||e.push(o);return e})(),c=a.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(m,Object.assign({title:n.getOriginalFormattedPrimaryNameValue(),variant:"large"},{children:n.getOriginalFormattedPrimaryNameValue()}))})),o(L,Object.assign({},i,{parameters:Object.assign(Object.assign({},i.parameters),{ChangeEditorMode:{raw:"read",error:c},Grid:Object.assign(Object.assign({},i.parameters.Grid),{error:c,errorMessage:c?t.labels["saving-validation-error"]({columnDisplayNames:a.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:()=>x(void 0,void 0,void 0,(function*(){yield e.save(),t.pcfContext.factory.requestRender()})),setValue:(o,r)=>{e.clear(),t.pcfContext.factory.requestRender()}}))(n)}})})}))]})),o(g,{iconName:"DoubleChevronDown8"}),o("div",Object.assign({className:s.editableGrid},{children:o(L,Object.assign({},i,{parameters:Object.assign(Object.assign({},i.parameters),{ChangeEditorMode:{raw:"edit"},EnableEditing:{raw:!0},Grid:Object.assign(Object.assign({},i.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,r)=>{e.setValue(o,r),t.pcfContext.factory.requestRender()}}))(n)}})})}))}))]}))},A=r=>{const n=C().labels,s=E(),{isSaving:i,saveBtnProps:a,save:c}=S(),d=s.updatedRecords,m=M(l());return t((()=>{var e;0===d.length&&(null===(e=r.onDismiss)||void 0===e||e.call(r))}),[d]),e(I,Object.assign({},r,{width:1e3,minWidth:"80%",modalProps:{isBlocking:!0,className:m.root,layerProps:{eventBubblingEnabled:!0}},dialogContentProps:{showCloseButton:!0,title:n["saving-changepreview-title"]({numOfChanges:d.length})},hidden:!1},{children:[o("div",Object.assign({className:m.recordGrids},{children:d.map((e=>o(T,{record:e},e.getRecordId())))})),o(p,{children:o(u,Object.assign({className:m.saveBtn,text:a.text,disabled:a.disabled,onClick:()=>c()},{children:i&&o(v,{size:b.small})}))})]}))},B=()=>{const t=C(),s=t.labels,i=N(),{isDirty:a,updatedRecords:c,hasInvalidRecords:d,clearAll:l}=E(),{isSaving:m,saveBtnProps:g,save:p}=S(),[u,h]=n(!1);return e(r,{children:[o("div",Object.assign({onClick:()=>{a&&h(!0)},className:i.root,"data-dirty":a},{children:o(f,Object.assign({messageBarType:d?j.error:j.info,actions:e("div",Object.assign({className:i.actions},{children:[o(O,{text:m?g.text:void 0,disabled:g.disabled,onRenderIcon:m?()=>o(v,{size:b.small}):void 0,iconProps:{iconName:g.iconName},onClick:e=>{e.stopPropagation(),p()}}),o(O,{disabled:g.disabled&&!d&&!t.props.parameters.ChangeEditorMode,iconProps:{iconName:"Delete"},onClick:e=>{e.stopPropagation(),l()}})]})),isMultiline:!1},{children:a&&o("span",{className:i.notificationText,dangerouslySetInnerHTML:{__html:s["saving-changenotification"]({numOfChanges:c.length})}})}))})),u&&o(A,{onDismiss:e=>{"Escape"!==(null==e?void 0:e.code)&&h(!1)}})]})},_=()=>{var t,n;const i=C(),a=h(),c=s(),m=s(null),g=l();let{agColumns:p,records:u,maxNumberOfVisibleRecords:v,stateRef:b,getTotalColumnsWidth:O,onGridReady:S}=R(c);const N=F(),E=G(g,v,i.useContainerAsHeight),I=()=>{const e=(()=>{var e,o;const r=null===(e=m.current)||void 0===e?void 0:e.querySelector(".ag-root-wrapper");return null!==(o=null==r?void 0:r.clientWidth)&&void 0!==o?o:0})();e>O()&&c.current.sizeColumnsToFit()};return o("div",Object.assign({ref:m,className:`${E.root} ag-theme-balham`},{children:p.length>0&&e(r,{children:[(i.isEditable&&"edit"!==(null===(t=i.parameters.ChangeEditorMode)||void 0===t?void 0:t.raw)||"read"===(null===(n=i.parameters.ChangeEditorMode)||void 0===n?void 0:n.raw))&&o(B,{}),i.error&&o(f,Object.assign({messageBarType:j.error},{children:o("span",{dangerouslySetInnerHTML:{__html:i.errorMessage}})})),o(d,{animateRows:!0,rowSelection:i.selection.type,noRowsOverlayComponent:w,loadingOverlayComponent:k,suppressDragLeaveHidesColumns:!0,onColumnMoved:e=>{e.finished&&(e=>{var o;const r=null===(o=e.api.getState().columnOrder)||void 0===o?void 0:o.orderedColIds.filter((e=>!0));r&&i.pcfContext.factory.fireEvent("__updateColumnOrder",r)})(e)},reactiveCustomComponents:!0,onRowSelected:e=>{e.source.includes("api")||"gridInitializing"===e.source||a.toggle(e.data,e.node.isSelected())},onCellDoubleClicked:e=>{i.isNavigationEnabled&&!i.isEditable&&i.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,i.loading&&(null===(o=c.current)||void 0===o||o.showLoadingOverlay()),I(),S()},initialState:b.current,onStateUpdated:e=>b.current=Object.assign(Object.assign({},b.current),e.state),rowHeight:42,columnDefs:p,rowData:u}),N.isEnabled&&o(y,{})]})}))},L=e=>{const{labels:r}=a("Grid",e,P),t=i((()=>({gridInstance:new c(e,r)})),[]);return t.gridInstance.updateDependencies(e),o(D.Provider,Object.assign({value:t},{children:o(_,{})}))};export{_ as A,A as C,L as G,T as R,B 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,j=D.value,k=C.userSettings.numberFormattingInfo,P=(e,r)=>new RegExp(`^${O(e).replace("n",r)}$`.replace(/\s/g,"")),$=(e,r)=>{const t=O(e),o=`(${O(k.currencySymbol)})?`,n=t.replace("\\$",o).replace("n",r);return new RegExp(`^${n.replace(/\s/g,"")}$`)},O=e=>e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),B=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(k),d.parameters.value.type){case"Whole.None":{const e=`\\d{1,}(${k.numberGroupSeparator}\\d{1,})*`;o=P("n",e),n=P(c[k.numberNegativePattern],e);break}case"Decimal":{const e=`\\d{1,}(${k.numberGroupSeparator}\\d{1,})*(\\${k.numberDecimalSeparator}\\d+)?`;o=P("n",e),n=P(c[k.numberNegativePattern],e);break}case"Currency":{l.currency(k);const e=`\\d{1,}(${k.currencyGroupSeparator}\\d{1,})*(\\${k.currencyDecimalSeparator}\\d+)?`;o=$(s[k.currencyPositivePattern],e),n=$(u[k.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:S,sizing:x,theme:E,setValue:N,onNotifyOutputChanged:A}=t("Decimal",d,{formatter:e=>{var r,t;return"number"==typeof e?"Decimal"===d.parameters.value.type?C.formatting.formatDecimal(e,null===(r=j.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=j.attributes)||void 0===t?void 0:t.Precision):C.formatting.formatInteger(e):e},valueExtractor:B}),M=e=>{var r,t,o,n,a;const i=null!==(r=j.raw)&&void 0!==r?r:0;if("number"!=typeof i)return;const l=Math.pow(10,null!==(o=null===(t=j.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=j.attributes)||void 0===n?void 0:n.Precision)&&void 0!==a?a:0));A({value:s})};n((()=>{"Currency"===j.type&&N(j.formatted)}),[j.formatted]);let F={underlined:E.effects.underlined,hideErrorMessage:!(null===(v=D.ShowErrorMessage)||void 0===v?void 0:v.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&&!1!==(null===(r=D.EnableSpinButton)||void 0===r?void 0:r.raw))return[{key:"arrows",onRender:()=>e(p,{ref:w,onDecrement:()=>M("decrement"),onIncrement:()=>M("increment")})}]})(),autoFocus:null===(f=D.AutoFocus)||void 0===f?void 0:f.raw,borderless:!1===(null===(y=D.EnableBorder)||void 0===y?void 0:y.raw),errorMessage:j.errorMessage,styles:{fieldGroup:{height:x.height,width:x.width}},deleteButtonProps:!0===(null===(g=D.EnableDeleteButton)||void 0===g?void 0:g.raw)?{key:"delete",showOnlyOnHover:!0,iconProps:{iconName:"Delete"},onClick:()=>N(void 0)}:void 0,clickToCopyProps:!0===(null===(b=D.EnableCopyButton)||void 0===b?void 0:b.raw)?{key:"copy",showOnlyOnHover:!0,iconProps:{iconName:"Copy"}}:void 0,value:null!=S?S:"",onBlur:e=>{A({value:B(e.target.value)})},onChange:(e,r)=>{N(r)},onKeyDown:e=>{var r,t;if(!C.mode.isControlDisabled)switch(e.key){case"ArrowDown":e.preventDefault(),M("decrement"),null===(r=w.current)||void 0===r||r.setActiveBtn("down");break;case"ArrowUp":e.preventDefault(),M("increment"),null===(t=w.current)||void 0===t||t.setActiveBtn("up")}}};return F=Object.assign(Object.assign({},F),null===(h=d.onOverrideComponentProps)||void 0===h?void 0:h.call(d,F)),e(m,Object.assign({theme:E,applyTo:"none"},{children:e(r,Object.assign({},F))}))};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{useInputBasedControl as r}from"../../hooks/useInputBasedControl.js";import{ThemeProvider as l}from"@fluentui/react";import a from"numeral";import{Numeral as t}from"../../utils/Numeral.js";import{getDefaultDurationTranslations as i}from"./translations.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-migration-v8-v9";import"../../hooks/useControlSizing.js";const n=[{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:""}],u=u=>{var s,m;const p=u.parameters,d=p.value,c=u.context,C=require("humanize-duration"),b=c.userSettings.locale,h=c.userSettings.numberFormattingInfo,g=e=>{if("number"==typeof e){const o=6e4*e,r={units:e<60?["m"]:e>=1440?["d"]:["h"],maxDecimalPoints:2,language:b.slice(0,b.indexOf("-")),decimal:c.userSettings.numberFormattingInfo.numberDecimalSeparator,fallbacks:["en"]};return C(o,r)}return e},f=e=>{const o=JSON.parse(x.minute()),r=JSON.parse(x.minutes()),l=JSON.parse(x.hour()),a=JSON.parse(x.hours()),t=JSON.parse(x.day()),i=JSON.parse(x.days()),n=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("|")+")$|^("+i.join("|")+")\\s|\\s("+i.join("|")+")$","i");if(e&&e.trim()){let o=e.trim().toLowerCase(),r="minute";n.test(o)?o=o.replace(n,"").trim():u.test(o)?(o=o.replace(u,"").trim(),r="hour"):s.test(o)&&(o=o.replace(s,"").trim(),r="day");const l=V(o);return l&&!isNaN(l)?L(l,r):e}},V=e=>{var o;return t.decimal(h),null!==(o=a(e).value())&&void 0!==o?o:void 0},L=(e,o)=>{switch(o){case"hour":return 60*e;case"day":return 60*e*24;default:return e}},j=n.map((e=>({key:e.Value.toString(),text:g(parseInt(e.Label))}))),{value:v,labels:x,sizing:S,setValue:y,onNotifyOutputChanged:w,theme:N}=r("Duration",u,{formatter:g,valueExtractor:f,defaultTranslations:i()});return e(l,Object.assign({theme:N,applyTo:"none"},{children:e(o,{options:j,hideErrorMessage:!(null===(s=p.ShowErrorMessage)||void 0===s?void 0:s.raw),underlined:N.effects.underlined,allowFreeInput:!0,autoComplete:"on",autofill:!0===(null===(m=p.AutoFocus)||void 0===m?void 0:m.raw)?{autoFocus:!0}:void 0,readOnly:c.mode.isControlDisabled,useComboBoxAsMenuWidth:!0,errorMessage:d.errorMessage,text:null!=v?v:"",styles:{root:{height:S.height,width:S.width,display:"flex",alignItems:"center"},callout:{height:300}},onInputValueChange:e=>{y(null!=e?e:"")},onBlur:e=>{w({value:f(v)})},onChange:(e,o)=>{var r;w({value:f(null!==(r=null==o?void 0:o.text)&&void 0!==r?r:"")})}})}))};export{u as Duration};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{Duration}from"./Duration.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"./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;
|