@elliemae/ds-form-toggle 3.57.0-next.2 → 3.57.0-next.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/cjs/ControlledToggle.js +75 -73
  2. package/dist/cjs/ControlledToggle.js.map +2 -2
  3. package/dist/cjs/config/useDSControlledToggle.js +25 -2
  4. package/dist/cjs/config/useDSControlledToggle.js.map +2 -2
  5. package/dist/cjs/{parts/AddTooltipOnReadOnly.js → config/useGetButtonProps.js} +30 -10
  6. package/dist/cjs/config/useGetButtonProps.js.map +7 -0
  7. package/dist/cjs/{DSFormToggleDefinitions.js → config/useGetWidestLabelWidth.js} +40 -6
  8. package/dist/cjs/config/useGetWidestLabelWidth.js.map +7 -0
  9. package/dist/cjs/constants/index.js +16 -3
  10. package/dist/cjs/constants/index.js.map +2 -2
  11. package/dist/cjs/index.js +11 -2
  12. package/dist/cjs/index.js.map +2 -2
  13. package/dist/cjs/react-desc-prop-types.js +12 -17
  14. package/dist/cjs/react-desc-prop-types.js.map +2 -2
  15. package/dist/cjs/styles.js +49 -35
  16. package/dist/cjs/styles.js.map +2 -2
  17. package/dist/cjs/utils/styleHelpers.js +12 -13
  18. package/dist/cjs/utils/styleHelpers.js.map +2 -2
  19. package/dist/esm/ControlledToggle.js +81 -79
  20. package/dist/esm/ControlledToggle.js.map +2 -2
  21. package/dist/esm/config/useDSControlledToggle.js +25 -2
  22. package/dist/esm/config/useDSControlledToggle.js.map +2 -2
  23. package/dist/esm/config/useGetButtonProps.js +31 -0
  24. package/dist/esm/config/useGetButtonProps.js.map +7 -0
  25. package/dist/esm/config/useGetWidestLabelWidth.js +40 -0
  26. package/dist/esm/config/useGetWidestLabelWidth.js.map +7 -0
  27. package/dist/esm/constants/index.js +16 -3
  28. package/dist/esm/constants/index.js.map +2 -2
  29. package/dist/esm/index.js +7 -1
  30. package/dist/esm/index.js.map +2 -2
  31. package/dist/esm/react-desc-prop-types.js +12 -17
  32. package/dist/esm/react-desc-prop-types.js.map +2 -2
  33. package/dist/esm/styles.js +50 -36
  34. package/dist/esm/styles.js.map +2 -2
  35. package/dist/esm/utils/styleHelpers.js +12 -13
  36. package/dist/esm/utils/styleHelpers.js.map +2 -2
  37. package/dist/types/config/useDSControlledToggle.d.ts +16 -19
  38. package/dist/types/config/useGetButtonProps.d.ts +10 -0
  39. package/dist/types/config/useGetWidestLabelWidth.d.ts +14 -0
  40. package/dist/types/constants/index.d.ts +15 -2
  41. package/dist/types/index.d.ts +2 -1
  42. package/dist/types/react-desc-prop-types.d.ts +39 -13
  43. package/dist/types/styles.d.ts +31 -30
  44. package/dist/types/tests/DSControlledToggle.app-sdk-compatibility.test.d.ts +1 -0
  45. package/dist/types/tests/DSControlledToggle.data-testId.test.d.ts +1 -0
  46. package/dist/types/utils/styleHelpers.d.ts +8 -8
  47. package/package.json +7 -11
  48. package/dist/cjs/DSFormToggleDefinitions.js.map +0 -7
  49. package/dist/cjs/parts/AddTooltipOnReadOnly.js.map +0 -7
  50. package/dist/esm/DSFormToggleDefinitions.js +0 -6
  51. package/dist/esm/DSFormToggleDefinitions.js.map +0 -7
  52. package/dist/esm/parts/AddTooltipOnReadOnly.js +0 -11
  53. package/dist/esm/parts/AddTooltipOnReadOnly.js.map +0 -7
  54. package/dist/types/DSFormToggleDefinitions.d.ts +0 -1
  55. package/dist/types/parts/AddTooltipOnReadOnly.d.ts +0 -5
@@ -1,22 +1,17 @@
1
1
  import React from 'react';
2
- import { useGetGlobalAttributes, useGetXstyledProps } from '@elliemae/ds-props-helpers';
3
2
  import { type DSControlledToggleT } from '../react-desc-prop-types.js';
4
- export interface DSControlledToggleCTX {
5
- propsWithDefault: DSControlledToggleT.InternalProps;
6
- globalProps: ReturnType<typeof useGetGlobalAttributes>;
7
- xstyledProps: ReturnType<typeof useGetXstyledProps>;
8
- instanceUid: string;
9
- }
10
3
  export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.Props) => {
11
4
  propsWithDefault: DSControlledToggleT.InternalProps;
12
- globalProps: Partial<Pick<object, "name" | "value" | "checked" | "onChange" | "size" | "readOnly" | "disabled" | "form" | "list" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "content" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "cite" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "shape" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "type" | "useMap" | "width" | "wmode" | "wrap"> & Omit<{
13
- name?: string | undefined | undefined;
14
- value?: string | number | readonly string[] | undefined;
15
- checked?: boolean | undefined | undefined;
16
- onChange?: React.FormEventHandler<Element> | undefined;
5
+ width: number;
6
+ handleRefOnLabelWidth: (instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
7
+ handleRefOffLabelWidth: (instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
8
+ globalProps: Partial<Pick<object, "shape" | "content" | "size" | "children" | "type" | "onClick" | "form" | "list" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-braillelabel" | "aria-brailleroledescription" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colindextext" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-description" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowindextext" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "autoCapitalize" | "autoFocus" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "enterKeyHint" | "hidden" | "id" | "lang" | "nonce" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "rel" | "resource" | "rev" | "typeof" | "vocab" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "exportparts" | "part" | "accept" | "acceptCharset" | "action" | "allowFullScreen" | "allowTransparency" | "alt" | "async" | "autoComplete" | "autoPlay" | "capture" | "cellPadding" | "cellSpacing" | "charSet" | "challenge" | "checked" | "cite" | "classID" | "cols" | "colSpan" | "controls" | "coords" | "crossOrigin" | "data" | "dateTime" | "default" | "defer" | "disabled" | "download" | "encType" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "frameBorder" | "headers" | "height" | "high" | "href" | "hrefLang" | "htmlFor" | "httpEquiv" | "integrity" | "keyParams" | "keyType" | "kind" | "label" | "loop" | "low" | "manifest" | "marginHeight" | "marginWidth" | "max" | "maxLength" | "media" | "mediaGroup" | "method" | "min" | "minLength" | "multiple" | "muted" | "name" | "noValidate" | "open" | "optimum" | "pattern" | "placeholder" | "playsInline" | "poster" | "preload" | "readOnly" | "required" | "reversed" | "rows" | "rowSpan" | "sandbox" | "scope" | "scoped" | "scrolling" | "seamless" | "selected" | "sizes" | "span" | "src" | "srcDoc" | "srcLang" | "srcSet" | "start" | "step" | "summary" | "target" | "useMap" | "value" | "width" | "wmode" | "wrap"> & Omit<{
9
+ shape?: string | undefined | undefined;
10
+ content?: string | undefined | undefined;
17
11
  size?: number | undefined | undefined;
18
- readOnly?: boolean | undefined | undefined;
19
- disabled?: boolean | undefined | undefined;
12
+ children?: React.ReactNode;
13
+ type?: string | undefined | undefined;
14
+ onClick?: React.MouseEventHandler<Element> | undefined;
20
15
  form?: string | undefined | undefined;
21
16
  list?: string | undefined | undefined;
22
17
  "aria-activedescendant"?: string | undefined | undefined;
@@ -72,7 +67,6 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
72
67
  "aria-valuemin"?: number | undefined | undefined;
73
68
  "aria-valuenow"?: number | undefined | undefined;
74
69
  "aria-valuetext"?: string | undefined | undefined;
75
- children?: React.ReactNode;
76
70
  onCopy?: React.ClipboardEventHandler<Element> | undefined;
77
71
  onCopyCapture?: React.ClipboardEventHandler<Element> | undefined;
78
72
  onCut?: React.ClipboardEventHandler<Element> | undefined;
@@ -89,6 +83,7 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
89
83
  onFocusCapture?: React.FocusEventHandler<Element> | undefined;
90
84
  onBlur?: React.FocusEventHandler<Element> | undefined;
91
85
  onBlurCapture?: React.FocusEventHandler<Element> | undefined;
86
+ onChange?: React.FormEventHandler<Element> | undefined;
92
87
  onChangeCapture?: React.FormEventHandler<Element> | undefined;
93
88
  onBeforeInput?: React.FormEventHandler<Element> | undefined;
94
89
  onBeforeInputCapture?: React.FormEventHandler<Element> | undefined;
@@ -156,7 +151,6 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
156
151
  onWaitingCapture?: React.ReactEventHandler<Element> | undefined;
157
152
  onAuxClick?: React.MouseEventHandler<Element> | undefined;
158
153
  onAuxClickCapture?: React.MouseEventHandler<Element> | undefined;
159
- onClick?: React.MouseEventHandler<Element> | undefined;
160
154
  onClickCapture?: React.MouseEventHandler<Element> | undefined;
161
155
  onContextMenu?: React.MouseEventHandler<Element> | undefined;
162
156
  onContextMenuCapture?: React.MouseEventHandler<Element> | undefined;
@@ -256,7 +250,6 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
256
250
  radioGroup?: string | undefined | undefined;
257
251
  role?: React.AriaRole | undefined;
258
252
  about?: string | undefined | undefined;
259
- content?: string | undefined | undefined;
260
253
  datatype?: string | undefined | undefined;
261
254
  inlist?: any;
262
255
  prefix?: string | undefined | undefined;
@@ -295,6 +288,7 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
295
288
  cellSpacing?: number | string | undefined | undefined;
296
289
  charSet?: string | undefined | undefined;
297
290
  challenge?: string | undefined | undefined;
291
+ checked?: boolean | undefined | undefined;
298
292
  cite?: string | undefined | undefined;
299
293
  classID?: string | undefined | undefined;
300
294
  cols?: number | undefined | undefined;
@@ -306,6 +300,7 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
306
300
  dateTime?: string | undefined | undefined;
307
301
  default?: boolean | undefined | undefined;
308
302
  defer?: boolean | undefined | undefined;
303
+ disabled?: boolean | undefined | undefined;
309
304
  download?: any;
310
305
  encType?: string | undefined | undefined;
311
306
  formAction?: string | undefined;
@@ -340,6 +335,7 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
340
335
  minLength?: number | undefined | undefined;
341
336
  multiple?: boolean | undefined | undefined;
342
337
  muted?: boolean | undefined | undefined;
338
+ name?: string | undefined | undefined;
343
339
  noValidate?: boolean | undefined | undefined;
344
340
  open?: boolean | undefined | undefined;
345
341
  optimum?: number | undefined | undefined;
@@ -348,6 +344,7 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
348
344
  playsInline?: boolean | undefined | undefined;
349
345
  poster?: string | undefined | undefined;
350
346
  preload?: string | undefined | undefined;
347
+ readOnly?: boolean | undefined | undefined;
351
348
  required?: boolean | undefined | undefined;
352
349
  reversed?: boolean | undefined | undefined;
353
350
  rows?: number | undefined | undefined;
@@ -358,7 +355,6 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
358
355
  scrolling?: string | undefined | undefined;
359
356
  seamless?: boolean | undefined | undefined;
360
357
  selected?: boolean | undefined | undefined;
361
- shape?: string | undefined | undefined;
362
358
  sizes?: string | undefined | undefined;
363
359
  span?: number | undefined | undefined;
364
360
  src?: string | undefined | undefined;
@@ -369,12 +365,13 @@ export declare const useDSControlledToggle: (propsFromUser: DSControlledToggleT.
369
365
  step?: number | string | undefined | undefined;
370
366
  summary?: string | undefined | undefined;
371
367
  target?: string | undefined | undefined;
372
- type?: string | undefined | undefined;
373
368
  useMap?: string | undefined | undefined;
369
+ value?: string | number | readonly string[] | undefined;
374
370
  width?: number | string | undefined | undefined;
375
371
  wmode?: string | undefined | undefined;
376
372
  wrap?: string | undefined | undefined;
377
373
  }, never>>;
374
+ buttonProps: DSControlledToggleT.ButtonV3InherithedProps;
378
375
  xstyledProps: import("@elliemae/ds-props-helpers").XstyledProps;
379
376
  instanceUid: string;
380
377
  handleOnClick: (e: React.KeyboardEvent<HTMLButtonElement> | React.MouseEvent<HTMLButtonElement, MouseEvent>) => void;
@@ -0,0 +1,10 @@
1
+ import type { GlobalAttributesT } from '@elliemae/ds-props-helpers';
2
+ import { type DSControlledToggleT } from '../react-desc-prop-types.js';
3
+ interface UseGetButtonPropsConfigT {
4
+ handleOnClick: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
5
+ globalProps: GlobalAttributesT<HTMLButtonElement>;
6
+ propsWithDefault: DSControlledToggleT.InternalProps;
7
+ instanceUid: string;
8
+ }
9
+ export declare const useGetButtonProps: (config: UseGetButtonPropsConfigT) => DSControlledToggleT.ButtonV3InherithedProps;
10
+ export {};
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ /**
3
+ * This should not be required, we are doing this to keep the wcagViolationLabelOn/wcagViolationLabelOff working
4
+ * this calculates the width of the widest custom label and sets the width of both labels to that width to avoid layout shift on toggle
5
+ *
6
+ * ---
7
+ *
8
+ * this can be safely removed in favor of a sensible default min-width for the accessible ON/OFF labels when we can actually kill the wcagViolationLabelOn/wcagViolationLabelOff props
9
+ */
10
+ export declare const useGetWidestLabelWidth: () => {
11
+ width: number;
12
+ handleRefOnLabelWidth: (instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
13
+ handleRefOffLabelWidth: (instance: HTMLDivElement | null) => void | React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof React.DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES];
14
+ };
@@ -1,9 +1,22 @@
1
- export declare const DSControlledToggleName = "DSControlledtoggle";
1
+ export declare const DSControlledToggleName = "DSFormtoggle";
2
2
  export declare const CONTROLLED_TOGGLE_SLOTS: {
3
- readonly CONTROLLED_CONTAINER: "container";
3
+ readonly CONTAINER_WITH_RADIUS_SHAPE: "container-with-radius-shape";
4
+ readonly BUTTON_CONTENT_WRAPPER: "button-content-wrapper";
5
+ readonly CIRCLE: "circle";
6
+ readonly TEXT_WRAPPER: "text-wrapper";
7
+ readonly CONTROLLED_CONTAINER: "controlled-container";
4
8
  readonly TOGGLE_CHECKBOX: "toggle-checkbox";
5
9
  };
6
10
  export declare const CONTROLLED_TOGGLE_DATA_TESTID: {
7
11
  CONTROLLED_CONTAINER: string;
8
12
  TOGGLE_CHECKBOX: string;
13
+ CONTAINER_WITH_RADIUS_SHAPE: "ds-formtoggle-container-with-radius-shape";
14
+ BUTTON_CONTENT_WRAPPER: "ds-formtoggle-button-content-wrapper";
15
+ CIRCLE: "ds-formtoggle-circle";
16
+ TEXT_WRAPPER: "ds-formtoggle-text-wrapper";
17
+ };
18
+ export declare const TOGGLE_SIZES: {
19
+ readonly SMALL: "s";
20
+ readonly MEDIUM: "m";
21
+ readonly LARGE: "l";
9
22
  };
@@ -1,2 +1,3 @@
1
- export * from './ControlledToggle.js';
1
+ export { DSControlledToggle, DSControlledToggleWithSchema } from './ControlledToggle.js';
2
+ export { TOGGLE_SIZES } from './constants/index.js';
2
3
  export type { DSControlledToggleT } from './react-desc-prop-types.js';
@@ -1,15 +1,9 @@
1
- import type { GlobalAttributesT, XstyledProps, DSPropTypesSchema, ValidationMap } from '@elliemae/ds-props-helpers';
1
+ import type { DSButtonV3T } from '@elliemae/ds-button-v2';
2
+ import type { DSPropTypesSchema, GlobalAttributesT, ValidationMap, XstyledProps } from '@elliemae/ds-props-helpers';
3
+ import { TOGGLE_SIZES } from './constants/index.js';
2
4
  export declare namespace DSControlledToggleT {
3
- type ToggleSize = 's' | 'm' | 'l';
4
- interface OptionalProps {
5
- containerProps: Record<string, unknown>;
6
- id: string;
7
- }
5
+ type ToggleSize = ObjectValues<typeof TOGGLE_SIZES>;
8
6
  interface DefaultProps {
9
- labelOn: string;
10
- labelOff: string;
11
- name: string;
12
- value: string;
13
7
  checked: boolean;
14
8
  onChange: (e: React.MouseEvent<HTMLButtonElement> | React.KeyboardEvent<HTMLButtonElement>) => void;
15
9
  size: ToggleSize;
@@ -17,11 +11,43 @@ export declare namespace DSControlledToggleT {
17
11
  disabled: boolean;
18
12
  applyAriaDisabled: boolean;
19
13
  }
20
- interface Props extends Partial<DefaultProps>, OptionalProps, Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>, XstyledProps {
14
+ interface RequiredProps {
15
+ }
16
+ interface OptionalProps {
17
+ containerProps?: Record<string, unknown>;
18
+ id?: string;
19
+ }
20
+ interface PostDeprecationETAPropsFallback {
21
+ /**
22
+ * @deprecated a custom wcagViolationLabelOn violates the role='switch' by design and it's impossible to make it WCAG compliant.
23
+ * Do not use it, if you need a custom label, you don't need a toggle, use a checkbox instead.
24
+ */
25
+ wcagViolationLabelOn?: string;
26
+ /**
27
+ * @deprecated a custom wcagViolationLabelOff violates the role='switch' by design and it's impossible to make it WCAG compliant.
28
+ * Do not use it, if you need a custom label, you don't need a toggle, use a checkbox instead.
29
+ */
30
+ wcagViolationLabelOff?: string;
31
+ }
32
+ interface PostDeprecationETAProps {
33
+ /**
34
+ * @deprecated a custom wcagViolationLabelOn violates the role='switch' by design and it's impossible to make it WCAG compliant.
35
+ * Do not use it, if you need a custom label, you don't need a toggle, use a checkbox instead.
36
+ */
37
+ labelOn?: string;
38
+ /**
39
+ * @deprecated a custom wcagViolationLabelOff violates the role='switch' by design and it's impossible to make it WCAG compliant.
40
+ * Do not use it, if you need a custom label, you don't need a toggle, use a checkbox instead.
41
+ */
42
+ labelOff?: string;
43
+ }
44
+ interface ButtonV3InherithedProps extends Omit<DSButtonV3T.Props, 'size' | 'children'> {
45
+ }
46
+ interface Props extends Partial<DefaultProps>, OptionalProps, Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>, XstyledProps, RequiredProps, PostDeprecationETAProps, PostDeprecationETAPropsFallback {
21
47
  }
22
- interface InternalProps extends DefaultProps, OptionalProps, Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>, XstyledProps {
48
+ interface InternalProps extends DefaultProps, OptionalProps, Omit<GlobalAttributesT<HTMLButtonElement>, keyof DefaultProps | keyof OptionalProps | keyof XstyledProps>, XstyledProps, RequiredProps, PostDeprecationETAProps, PostDeprecationETAPropsFallback {
23
49
  }
24
50
  }
25
51
  export declare const defaultProps: DSControlledToggleT.DefaultProps;
26
- export declare const DSControlledTogglePropTypes: DSPropTypesSchema<DSControlledToggleT.Props>;
52
+ export declare const DSControlledTogglePropTypes: DSPropTypesSchema<Omit<DSControlledToggleT.Props, keyof DSControlledToggleT.PostDeprecationETAPropsFallback> & DSControlledToggleT.PostDeprecationETAProps>;
27
53
  export declare const DSControlledTogglePropTypesSchema: ValidationMap<DSControlledToggleT.Props>;
@@ -1,43 +1,44 @@
1
1
  import type { DSControlledToggleT } from './react-desc-prop-types.js';
2
2
  interface StyledContainerT {
3
- size: DSControlledToggleT.ToggleSize;
3
+ $size: DSControlledToggleT.ToggleSize;
4
4
  disabled: boolean;
5
5
  }
6
- interface StyledLabelT {
7
- width: number;
8
- size: DSControlledToggleT.ToggleSize;
9
- checked: boolean;
6
+ export declare const StyledContainer: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledContainerT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
7
+ interface StyledRadiusShapeT {
8
+ $width: number;
9
+ $size: DSControlledToggleT.ToggleSize;
10
10
  }
11
- interface StyledVisibleContentT {
12
- checked: boolean;
13
- size: DSControlledToggleT.ToggleSize;
14
- disabled: boolean;
15
- applyAriaDisabled: boolean;
16
- readOnly: boolean;
17
- as: 'p' | 'label';
18
- htmlFor: string;
11
+ export declare const StyledRadiusShape: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledRadiusShapeT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
12
+ interface StyledButtonContentWrapperT {
13
+ $checked: boolean;
14
+ $size: DSControlledToggleT.ToggleSize;
15
+ $disabled: boolean;
16
+ $applyAriaDisabled: boolean;
17
+ $readOnly: boolean;
19
18
  }
19
+ export declare const StyledButtonContentWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledButtonContentWrapperT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
20
20
  interface StyledCircleT {
21
- size: DSControlledToggleT.ToggleSize;
22
- readOnly: boolean;
23
- checked: boolean;
24
- disabled: boolean;
21
+ $size: DSControlledToggleT.ToggleSize;
22
+ $readOnly: boolean;
23
+ $applyAriaDisabled: boolean;
25
24
  }
26
- interface StyledTextT {
27
- isLongerTextRendering: boolean;
28
- size: DSControlledToggleT.ToggleSize;
29
- checked: boolean;
30
- disabled: boolean;
31
- applyAriaDisabled: boolean;
25
+ export declare const StyledCircle: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledCircleT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
26
+ interface StyledTextWrapperT {
27
+ $size: DSControlledToggleT.ToggleSize;
28
+ $disabled: boolean;
32
29
  }
30
+ export declare const StyledTextWrapper: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledTextWrapperT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
31
+ export declare const StyledButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV3T.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV3T.Props>>, never>;
33
32
  interface SetLabelWidthT {
34
- size: DSControlledToggleT.ToggleSize;
33
+ $size: DSControlledToggleT.ToggleSize;
35
34
  }
36
- export declare const StyledContainer: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledContainerT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
37
- export declare const StyledLabel: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledLabelT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
38
- export declare const StyledVisibleContent: React.ComponentType<React.ComponentProps<"div"> & Partial<StyledVisibleContentT>>;
39
- export declare const StyledCircle: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledCircleT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
40
- export declare const StyledText: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, StyledTextT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
41
- export declare const StyledButton: import("styled-components").StyledComponent<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>, import("@elliemae/ds-system").Theme, object & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<import("react").ComponentType<import("@elliemae/ds-button-v2").DSButtonV2T.Props>>, never>;
35
+ /**
36
+ * This should not be required, we are doing this to keep the wcagViolationLabelOn/wcagViolationLabelOff working
37
+ * this calculates the width of the widest custom label and sets the width of both labels to that width to avoid layout shift on toggle
38
+ *
39
+ * ---
40
+ *
41
+ * this can be safely removed in favor of a sensible default min-width for the accessible ON/OFF labels when we can actually kill the wcagViolationLabelOn/wcagViolationLabelOff props
42
+ */
42
43
  export declare const SetLabelWidth: import("styled-components").StyledComponent<"div", import("@elliemae/ds-system").Theme, SetLabelWidthT & import("@elliemae/ds-system").OwnerInterface & import("@elliemae/ds-system").InnerRefInterface<"div">, never>;
43
44
  export {};
@@ -27,15 +27,15 @@ export declare const borderRadius: {
27
27
  };
28
28
  export declare const handleFontSize: (size: DSControlledToggleT.ToggleSize, { fontSizes }: PropsWithTheme["theme"]) => string;
29
29
  export declare const getInterpolatedBgDsToggleColorByProps: (props: PropsWithTheme<{
30
- checked: boolean;
31
- disabled: boolean;
32
- applyAriaDisabled: boolean;
33
- readOnly: boolean;
30
+ $checked: boolean;
31
+ $disabled: boolean;
32
+ $applyAriaDisabled: boolean;
33
+ $readOnly: boolean;
34
34
  }>) => string;
35
35
  export declare const getInterpolatedBorderDsToggleColorByProps: (props: PropsWithTheme<{
36
- checked: boolean;
37
- disabled: boolean;
38
- applyAriaDisabled: boolean;
39
- readOnly: boolean;
36
+ $checked: boolean;
37
+ $disabled: boolean;
38
+ $applyAriaDisabled: boolean;
39
+ $readOnly: boolean;
40
40
  }>) => string;
41
41
  export declare const handleCursors: (disabled: boolean, applyAriaDisabled: boolean, readOnly: boolean) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elliemae/ds-form-toggle",
3
- "version": "3.57.0-next.2",
3
+ "version": "3.57.0-next.22",
4
4
  "license": "MIT",
5
5
  "description": "ICE MT - Dimsum - Controlled Form Toggle",
6
6
  "files": [
@@ -38,26 +38,22 @@
38
38
  "dependencies": {
39
39
  "lodash-es": "^4.17.21",
40
40
  "styled-components": "~5.3.9",
41
- "uid": "~2.0.1",
42
- "@elliemae/ds-button-v2": "3.57.0-next.2",
43
- "@elliemae/ds-system": "3.57.0-next.2",
44
- "@elliemae/ds-tooltip-v3": "3.57.0-next.2",
45
- "@elliemae/ds-props-helpers": "3.57.0-next.2"
41
+ "uid": "^2.0.2",
42
+ "@elliemae/ds-button-v2": "3.57.0-next.22",
43
+ "@elliemae/ds-props-helpers": "3.57.0-next.22",
44
+ "@elliemae/ds-system": "3.57.0-next.22"
46
45
  },
47
46
  "devDependencies": {
48
47
  "@elliemae/pui-cli": "9.0.0-next.65",
49
48
  "@elliemae/pui-theme": "~2.13.0",
50
49
  "jest": "~29.7.0",
51
- "styled-components": "~5.3.9",
52
- "@elliemae/ds-test-utils": "3.57.0-next.2",
53
- "@elliemae/ds-monorepo-devops": "3.57.0-next.2"
50
+ "@elliemae/ds-monorepo-devops": "3.57.0-next.22",
51
+ "@elliemae/ds-test-utils": "3.57.0-next.22"
54
52
  },
55
53
  "peerDependencies": {
56
54
  "@elliemae/pui-theme": "~2.13.0",
57
- "lodash-es": "^4.17.21",
58
55
  "react": "^18.3.1",
59
56
  "react-dom": "^18.3.1",
60
- "styled-components": "~5.3.9",
61
57
  "styled-system": "^5.1.5"
62
58
  },
63
59
  "publishConfig": {
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/DSFormToggleDefinitions.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["export const DSFormToggleName = 'DSFormToggle';\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,mBAAmB;",
6
- "names": []
7
- }
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/parts/AddTooltipOnReadOnly.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip-v3';\n\nexport const AddTooltipOnReadOnly = ({ readOnly, children }: { readOnly: boolean; children: React.ReactNode }) => {\n if (readOnly) return <DSTooltipV3 text=\"Read Only\">{children}</DSTooltipV3>;\n return children;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADIA;AAHvB,2BAA4B;AAErB,MAAM,uBAAuB,CAAC,EAAE,UAAU,SAAS,MAAwD;AAChH,MAAI,SAAU,QAAO,4CAAC,oCAAY,MAAK,aAAa,UAAS;AAC7D,SAAO;AACT;",
6
- "names": []
7
- }
@@ -1,6 +0,0 @@
1
- import * as React from "react";
2
- const DSFormToggleName = "DSFormToggle";
3
- export {
4
- DSFormToggleName
5
- };
6
- //# sourceMappingURL=DSFormToggleDefinitions.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../src/DSFormToggleDefinitions.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const DSFormToggleName = 'DSFormToggle';\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,mBAAmB;",
6
- "names": []
7
- }
@@ -1,11 +0,0 @@
1
- import * as React from "react";
2
- import { jsx } from "react/jsx-runtime";
3
- import { DSTooltipV3 } from "@elliemae/ds-tooltip-v3";
4
- const AddTooltipOnReadOnly = ({ readOnly, children }) => {
5
- if (readOnly) return /* @__PURE__ */ jsx(DSTooltipV3, { text: "Read Only", children });
6
- return children;
7
- };
8
- export {
9
- AddTooltipOnReadOnly
10
- };
11
- //# sourceMappingURL=AddTooltipOnReadOnly.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../src/parts/AddTooltipOnReadOnly.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { DSTooltipV3 } from '@elliemae/ds-tooltip-v3';\n\nexport const AddTooltipOnReadOnly = ({ readOnly, children }: { readOnly: boolean; children: React.ReactNode }) => {\n if (readOnly) return <DSTooltipV3 text=\"Read Only\">{children}</DSTooltipV3>;\n return children;\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACIA;AAHvB,SAAS,mBAAmB;AAErB,MAAM,uBAAuB,CAAC,EAAE,UAAU,SAAS,MAAwD;AAChH,MAAI,SAAU,QAAO,oBAAC,eAAY,MAAK,aAAa,UAAS;AAC7D,SAAO;AACT;",
6
- "names": []
7
- }
@@ -1 +0,0 @@
1
- export declare const DSFormToggleName = "DSFormToggle";
@@ -1,5 +0,0 @@
1
- import React from 'react';
2
- export declare const AddTooltipOnReadOnly: ({ readOnly, children }: {
3
- readOnly: boolean;
4
- children: React.ReactNode;
5
- }) => string | number | boolean | Iterable<React.ReactNode> | import("react/jsx-runtime").JSX.Element | null | undefined;