ods-ant 0.4.1 → 0.5.0

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 (68) hide show
  1. package/dist-lib/{AutoComplete-gOMQxLvY.cjs → AutoComplete-C9LcpBRs.cjs} +3 -3
  2. package/dist-lib/{AutoComplete-gOMQxLvY.cjs.map → AutoComplete-C9LcpBRs.cjs.map} +1 -1
  3. package/dist-lib/{AutoComplete-cpf8hCnK.js → AutoComplete-CCYcFqfs.js} +2 -2
  4. package/dist-lib/{AutoComplete-cpf8hCnK.js.map → AutoComplete-CCYcFqfs.js.map} +1 -1
  5. package/dist-lib/{DatePicker-DTVtamsX.cjs → DatePicker-CQgt-WoB.cjs} +2 -2
  6. package/dist-lib/{DatePicker-DTVtamsX.cjs.map → DatePicker-CQgt-WoB.cjs.map} +1 -1
  7. package/dist-lib/{DatePicker-BpjYibJF.js → DatePicker-LXjOxVN5.js} +87 -33
  8. package/dist-lib/{DatePicker-BpjYibJF.js.map → DatePicker-LXjOxVN5.js.map} +1 -1
  9. package/dist-lib/display/Table.cjs +1 -1
  10. package/dist-lib/display/Table.cjs.map +1 -1
  11. package/dist-lib/display/Table.js +1 -1
  12. package/dist-lib/display/Table.js.map +1 -1
  13. package/dist-lib/forms/AccessibleDatePicker.cjs +1 -1
  14. package/dist-lib/forms/AccessibleDatePicker.js +1 -1
  15. package/dist-lib/forms/AutoComplete.cjs +1 -1
  16. package/dist-lib/forms/AutoComplete.js +1 -1
  17. package/dist-lib/forms/Button.cjs +2 -2
  18. package/dist-lib/forms/Button.cjs.map +1 -1
  19. package/dist-lib/forms/Button.js +24 -48
  20. package/dist-lib/forms/Button.js.map +1 -1
  21. package/dist-lib/forms/Cascader.cjs +2 -2
  22. package/dist-lib/forms/Cascader.js +3 -3
  23. package/dist-lib/forms/ClearableAutoComplete.cjs +1 -1
  24. package/dist-lib/forms/ClearableAutoComplete.js +1 -1
  25. package/dist-lib/forms/ClearableDatePicker.cjs +1 -1
  26. package/dist-lib/forms/ClearableDatePicker.cjs.map +1 -1
  27. package/dist-lib/forms/ClearableDatePicker.js +6 -5
  28. package/dist-lib/forms/ClearableDatePicker.js.map +1 -1
  29. package/dist-lib/forms/ClearableTransfer.cjs +1 -1
  30. package/dist-lib/forms/ClearableTransfer.cjs.map +1 -1
  31. package/dist-lib/forms/ClearableTransfer.js +5 -0
  32. package/dist-lib/forms/ClearableTransfer.js.map +1 -1
  33. package/dist-lib/forms/DatePicker.cjs +1 -1
  34. package/dist-lib/forms/DatePicker.js +1 -1
  35. package/dist-lib/forms/Select.cjs +1 -1
  36. package/dist-lib/forms/Select.cjs.map +1 -1
  37. package/dist-lib/forms/Select.js +45 -43
  38. package/dist-lib/forms/Select.js.map +1 -1
  39. package/dist-lib/forms/TreeSelect.cjs +60 -1
  40. package/dist-lib/forms/TreeSelect.cjs.map +1 -1
  41. package/dist-lib/forms/TreeSelect.js +148 -36
  42. package/dist-lib/forms/TreeSelect.js.map +1 -1
  43. package/dist-lib/forms/index.cjs +1 -1
  44. package/dist-lib/forms/index.js +2 -2
  45. package/dist-lib/index.cjs +1 -1
  46. package/dist-lib/index.js +2 -2
  47. package/dist-lib/{selectStyles-C8j5Vvgp.js → selectStyles-7f37TvzD.js} +182 -151
  48. package/dist-lib/selectStyles-7f37TvzD.js.map +1 -0
  49. package/dist-lib/{selectStyles-BFeXUMpO.cjs → selectStyles-KK5-1q0t.cjs} +180 -149
  50. package/dist-lib/selectStyles-KK5-1q0t.cjs.map +1 -0
  51. package/dist-lib/types/ds/accessibility.smoke.test.d.ts +2 -0
  52. package/dist-lib/types/ds/accessibility.smoke.test.d.ts.map +1 -0
  53. package/dist-lib/types/ds/forms/Button.d.ts +2 -3
  54. package/dist-lib/types/ds/forms/Button.d.ts.map +1 -1
  55. package/dist-lib/types/ds/forms/ClearableDatePicker.d.ts +8 -4
  56. package/dist-lib/types/ds/forms/ClearableDatePicker.d.ts.map +1 -1
  57. package/dist-lib/types/ds/forms/ClearableTransfer.d.ts.map +1 -1
  58. package/dist-lib/types/ds/forms/DatePicker.d.ts +6 -1
  59. package/dist-lib/types/ds/forms/DatePicker.d.ts.map +1 -1
  60. package/dist-lib/types/ds/forms/Select.d.ts +4 -1
  61. package/dist-lib/types/ds/forms/Select.d.ts.map +1 -1
  62. package/dist-lib/types/ds/forms/TreeSelect.d.ts +1 -1
  63. package/dist-lib/types/ds/forms/TreeSelect.d.ts.map +1 -1
  64. package/dist-lib/types/ds/forms/selectStyles.d.ts +1 -0
  65. package/dist-lib/types/ds/forms/selectStyles.d.ts.map +1 -1
  66. package/package.json +10 -2
  67. package/dist-lib/selectStyles-BFeXUMpO.cjs.map +0 -1
  68. package/dist-lib/selectStyles-C8j5Vvgp.js.map +0 -1
@@ -1,4 +1,4 @@
1
- require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./theme.cjs`),t=require(`./forms/FieldShell.cjs`),n=require(`./fieldProps-CuWfEbFx.cjs`),r=require(`./selectStyles-BFeXUMpO.cjs`);let i=require(`antd`),a=require(`react`),o=require(`react/jsx-runtime`);var s=`ds-autocomplete-styles`,c=`ds-autocomplete`,l=e.appTheme.token?.fontFamily??`'Nunito', sans-serif`,u=l,d=(...e)=>e.filter(Boolean).join(` `).trim(),f=()=>{if(typeof document>`u`)return;let e=document.getElementById(s);e||(e=document.createElement(`style`),e.id=s,document.head.appendChild(e)),e.textContent=`
1
+ require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./theme.cjs`),t=require(`./forms/FieldShell.cjs`),n=require(`./fieldProps-CuWfEbFx.cjs`),r=require(`./selectStyles-KK5-1q0t.cjs`);let i=require(`antd`),a=require(`react`),o=require(`react/jsx-runtime`);var s=`ds-autocomplete-styles`,c=`ds-autocomplete`,l=e.appTheme.token?.fontFamily??`'Nunito', sans-serif`,u=l,d=(...e)=>e.filter(Boolean).join(` `).trim(),f=()=>{if(typeof document>`u`)return;let e=document.getElementById(s);e||(e=document.createElement(`style`),e.id=s,document.head.appendChild(e)),e.textContent=`
2
2
  .${c},
3
3
  .${c}.ant-select,
4
4
  .${c} .ant-select,
@@ -34,5 +34,5 @@ require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./theme.cjs`),t=require(`./form
34
34
  .${c} textarea {
35
35
  font-family: ${l} !important;
36
36
  }
37
- `},p=({className:e,style:s,fieldLabel:l,fieldRequired:p,fieldDescription:m,fieldError:h,fieldActions:g,containerStyle:_,clear:v,clearable:y=!1,clearLabel:b,clearVisibility:x=`always`,onClear:S,onValueChange:C,id:w,...T})=>{let E=(0,a.useId)();(0,a.useEffect)(()=>{r.s(),f()},[]);let D=!!(l||p||m||h||g||y||v||S),O=w??(D?E:void 0),k=O?`${O}-description`:void 0,A=O?`${O}-error`:void 0,j=v?.onClear??S,M=n.t(m?k:void 0,h?A:void 0),N=(0,o.jsx)(i.AutoComplete,{...T,id:O,className:d(c,r.t,e),style:{fontFamily:u,...s},"aria-describedby":M,"aria-invalid":h?!0:void 0,onChange:e=>{T.onChange?.(e),C?.(String(e))}});return D?(0,o.jsx)(t.FieldShell,{label:l,required:p,htmlFor:O,description:m,descriptionId:k,error:h,errorId:A,clear:v,clearable:y,clearLabel:b,clearVisibility:x,clearValue:T.value,onClear:()=>{j?.(),C?.(``),T.onChange?.(``)},extraActions:g,style:_,children:N}):N};p.displayName=`AutoComplete`,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
38
- //# sourceMappingURL=AutoComplete-gOMQxLvY.cjs.map
37
+ `},p=({className:e,style:s,fieldLabel:l,fieldRequired:p,fieldDescription:m,fieldError:h,fieldActions:g,containerStyle:_,clear:v,clearable:y=!1,clearLabel:b,clearVisibility:x=`always`,onClear:S,onValueChange:C,id:w,...T})=>{let E=(0,a.useId)();(0,a.useEffect)(()=>{r.c(),f()},[]);let D=!!(l||p||m||h||g||y||v||S),O=w??(D?E:void 0),k=O?`${O}-description`:void 0,A=O?`${O}-error`:void 0,j=v?.onClear??S,M=n.t(m?k:void 0,h?A:void 0),N=(0,o.jsx)(i.AutoComplete,{...T,id:O,className:d(c,r.t,e),style:{fontFamily:u,...s},"aria-describedby":M,"aria-invalid":h?!0:void 0,onChange:e=>{T.onChange?.(e),C?.(String(e))}});return D?(0,o.jsx)(t.FieldShell,{label:l,required:p,htmlFor:O,description:m,descriptionId:k,error:h,errorId:A,clear:v,clearable:y,clearLabel:b,clearVisibility:x,clearValue:T.value,onClear:()=>{j?.(),C?.(``),T.onChange?.(``)},extraActions:g,style:_,children:N}):N};p.displayName=`AutoComplete`,Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return p}});
38
+ //# sourceMappingURL=AutoComplete-C9LcpBRs.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete-gOMQxLvY.cjs","names":[],"sources":["../src/ds/forms/autoCompleteStyles.ts","../src/ds/forms/AutoComplete.tsx"],"sourcesContent":["import { appTheme } from '../../theme/ontadaTheme';\n\nconst STYLE_ID = 'ds-autocomplete-styles';\nexport const DS_AUTOCOMPLETE_CLASS = 'ds-autocomplete';\n\nconst FONT_FAMILY = appTheme.token?.fontFamily ?? \"'Nunito', sans-serif\";\nexport const DS_AUTOCOMPLETE_FONT_FAMILY = FONT_FAMILY;\n\nexport const mergeAutoCompleteClassNames = (...classNames: Array<string | undefined>): string =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const ensureAutoCompleteStyles = () => {\n if (typeof document === 'undefined') {\n return;\n }\n\n let style = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n if (!style) {\n style = document.createElement('style');\n style.id = STYLE_ID;\n document.head.appendChild(style);\n }\n style.textContent = `\n .${DS_AUTOCOMPLETE_CLASS},\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-placeholder {\n font-family: ${FONT_FAMILY} !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector {\n border-radius: 4px !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-input,\n .${DS_AUTOCOMPLETE_CLASS} input,\n .${DS_AUTOCOMPLETE_CLASS} textarea {\n font-family: ${FONT_FAMILY} !important;\n }\n `;\n\n};\n","import { AutoComplete as AntAutoComplete } from 'antd';\nimport type { ComponentProps } from 'react';\nimport { useEffect, useId } from 'react';\nimport { FieldShell } from './FieldShell';\nimport type { DSFieldShellProps } from './fieldProps';\nimport { joinDescribedByIds } from './fieldProps';\nimport {\n DS_AUTOCOMPLETE_CLASS,\n DS_AUTOCOMPLETE_FONT_FAMILY,\n ensureAutoCompleteStyles,\n mergeAutoCompleteClassNames,\n} from './autoCompleteStyles';\nimport { DS_SELECT_CLASS, ensureSelectStyles } from './selectStyles';\n\nexport type AutoCompleteProps = ComponentProps<typeof AntAutoComplete>;\n\nexport type AutoCompleteFieldProps = DSFieldShellProps & {\n onValueChange?: (nextValue: string) => void;\n};\n\nexport const AutoComplete = ({\n className,\n style,\n fieldLabel,\n fieldRequired,\n fieldDescription,\n fieldError,\n fieldActions,\n containerStyle,\n clear,\n clearable = false,\n clearLabel,\n clearVisibility = 'always',\n onClear,\n onValueChange,\n id,\n ...props\n}: AutoCompleteProps & AutoCompleteFieldProps) => {\n const generatedId = useId();\n useEffect(() => {\n ensureSelectStyles();\n ensureAutoCompleteStyles();\n }, []);\n\n const shouldWrapInFieldShell = Boolean(\n fieldLabel ||\n fieldRequired ||\n fieldDescription ||\n fieldError ||\n fieldActions ||\n clearable ||\n clear ||\n onClear,\n );\n const controlId = id ?? (shouldWrapInFieldShell ? generatedId : undefined);\n const descriptionId = controlId ? `${controlId}-description` : undefined;\n const errorId = controlId ? `${controlId}-error` : undefined;\n const clearAction = clear?.onClear ?? onClear;\n const describedBy = joinDescribedByIds(\n fieldDescription ? descriptionId : undefined,\n fieldError ? errorId : undefined,\n );\n\n const control = (\n <AntAutoComplete\n {...props}\n id={controlId}\n className={mergeAutoCompleteClassNames(DS_AUTOCOMPLETE_CLASS, DS_SELECT_CLASS, className)}\n style={{ fontFamily: DS_AUTOCOMPLETE_FONT_FAMILY, ...style }}\n aria-describedby={describedBy}\n aria-invalid={fieldError ? true : undefined}\n onChange={(nextValue) => {\n props.onChange?.(nextValue);\n onValueChange?.(String(nextValue));\n }}\n />\n );\n\n if (!shouldWrapInFieldShell) {\n return control;\n }\n\n return (\n <FieldShell\n label={fieldLabel}\n required={fieldRequired}\n htmlFor={controlId}\n description={fieldDescription}\n descriptionId={descriptionId}\n error={fieldError}\n errorId={errorId}\n clear={clear}\n clearable={clearable}\n clearLabel={clearLabel}\n clearVisibility={clearVisibility}\n clearValue={props.value}\n onClear={() => {\n clearAction?.();\n onValueChange?.('');\n props.onChange?.('');\n }}\n extraActions={fieldActions}\n style={containerStyle}\n >\n {control}\n </FieldShell>\n );\n};\n\nAutoComplete.displayName = 'AutoComplete';\n"],"mappings":"2PAEA,IAAM,EAAW,yBACJ,EAAwB,kBAE/B,EAAc,EAAA,SAAS,OAAO,YAAc,uBACrC,EAA8B,EAE9B,GAA+B,GAAG,IAC7C,EAAW,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAEhC,MAAiC,CAC5C,GAAI,OAAO,SAAa,IACtB,OAGF,IAAI,EAAQ,SAAS,eAAe,EAAS,CACxC,IACH,EAAQ,SAAS,cAAc,QAAQ,CACvC,EAAM,GAAK,EACX,SAAS,KAAK,YAAY,EAAM,EAElC,EAAM,YAAc;OACf,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;;OAG1B,EAAsB;OACtB,EAAsB;OACtB,EAAsB;;;;OAItB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;KCpCpB,GAAgB,CAC3B,YACA,QACA,aACA,gBACA,mBACA,aACA,eACA,iBACA,QACA,YAAY,GACZ,aACA,kBAAkB,SAClB,UACA,gBACA,KACA,GAAG,KAC6C,CAChD,IAAM,GAAA,EAAA,EAAA,QAAqB,EAC3B,EAAA,EAAA,eAAgB,CACd,EAAA,GAAoB,CACpB,GAA0B,EACzB,EAAE,CAAC,CAEN,IAAM,EAAyB,GAC7B,GACE,GACA,GACA,GACA,GACA,GACA,GACA,GAEE,EAAY,IAAO,EAAyB,EAAc,IAAA,IAC1D,EAAgB,EAAY,GAAG,EAAU,cAAgB,IAAA,GACzD,EAAU,EAAY,GAAG,EAAU,QAAU,IAAA,GAC7C,EAAc,GAAO,SAAW,EAChC,EAAc,EAAA,EAClB,EAAmB,EAAgB,IAAA,GACnC,EAAa,EAAU,IAAA,GACxB,CAEK,GACJ,EAAA,EAAA,KAAC,EAAA,aAAD,CACE,GAAI,EACJ,GAAI,EACJ,UAAW,EAA4B,EAAuB,EAAA,EAAiB,EAAU,CACzF,MAAO,CAAE,WAAY,EAA6B,GAAG,EAAO,CAC5D,mBAAkB,EAClB,eAAc,EAAa,GAAO,IAAA,GAClC,SAAW,GAAc,CACvB,EAAM,WAAW,EAAU,CAC3B,IAAgB,OAAO,EAAU,CAAC,EAEpC,CAAA,CAOJ,OAJK,GAKH,EAAA,EAAA,KAAC,EAAA,WAAD,CACE,MAAO,EACP,SAAU,EACV,QAAS,EACT,YAAa,EACE,gBACf,MAAO,EACE,UACF,QACI,YACC,aACK,kBACjB,WAAY,EAAM,MAClB,YAAe,CACb,KAAe,CACf,IAAgB,GAAG,CACnB,EAAM,WAAW,GAAG,EAEtB,aAAc,EACd,MAAO,WAEN,EACU,CAAA,CA1BN,GA8BX,EAAa,YAAc"}
1
+ {"version":3,"file":"AutoComplete-C9LcpBRs.cjs","names":[],"sources":["../src/ds/forms/autoCompleteStyles.ts","../src/ds/forms/AutoComplete.tsx"],"sourcesContent":["import { appTheme } from '../../theme/ontadaTheme';\n\nconst STYLE_ID = 'ds-autocomplete-styles';\nexport const DS_AUTOCOMPLETE_CLASS = 'ds-autocomplete';\n\nconst FONT_FAMILY = appTheme.token?.fontFamily ?? \"'Nunito', sans-serif\";\nexport const DS_AUTOCOMPLETE_FONT_FAMILY = FONT_FAMILY;\n\nexport const mergeAutoCompleteClassNames = (...classNames: Array<string | undefined>): string =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const ensureAutoCompleteStyles = () => {\n if (typeof document === 'undefined') {\n return;\n }\n\n let style = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n if (!style) {\n style = document.createElement('style');\n style.id = STYLE_ID;\n document.head.appendChild(style);\n }\n style.textContent = `\n .${DS_AUTOCOMPLETE_CLASS},\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-placeholder {\n font-family: ${FONT_FAMILY} !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector {\n border-radius: 4px !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-input,\n .${DS_AUTOCOMPLETE_CLASS} input,\n .${DS_AUTOCOMPLETE_CLASS} textarea {\n font-family: ${FONT_FAMILY} !important;\n }\n `;\n\n};\n","import { AutoComplete as AntAutoComplete } from 'antd';\nimport type { ComponentProps } from 'react';\nimport { useEffect, useId } from 'react';\nimport { FieldShell } from './FieldShell';\nimport type { DSFieldShellProps } from './fieldProps';\nimport { joinDescribedByIds } from './fieldProps';\nimport {\n DS_AUTOCOMPLETE_CLASS,\n DS_AUTOCOMPLETE_FONT_FAMILY,\n ensureAutoCompleteStyles,\n mergeAutoCompleteClassNames,\n} from './autoCompleteStyles';\nimport { DS_SELECT_CLASS, ensureSelectStyles } from './selectStyles';\n\nexport type AutoCompleteProps = ComponentProps<typeof AntAutoComplete>;\n\nexport type AutoCompleteFieldProps = DSFieldShellProps & {\n onValueChange?: (nextValue: string) => void;\n};\n\nexport const AutoComplete = ({\n className,\n style,\n fieldLabel,\n fieldRequired,\n fieldDescription,\n fieldError,\n fieldActions,\n containerStyle,\n clear,\n clearable = false,\n clearLabel,\n clearVisibility = 'always',\n onClear,\n onValueChange,\n id,\n ...props\n}: AutoCompleteProps & AutoCompleteFieldProps) => {\n const generatedId = useId();\n useEffect(() => {\n ensureSelectStyles();\n ensureAutoCompleteStyles();\n }, []);\n\n const shouldWrapInFieldShell = Boolean(\n fieldLabel ||\n fieldRequired ||\n fieldDescription ||\n fieldError ||\n fieldActions ||\n clearable ||\n clear ||\n onClear,\n );\n const controlId = id ?? (shouldWrapInFieldShell ? generatedId : undefined);\n const descriptionId = controlId ? `${controlId}-description` : undefined;\n const errorId = controlId ? `${controlId}-error` : undefined;\n const clearAction = clear?.onClear ?? onClear;\n const describedBy = joinDescribedByIds(\n fieldDescription ? descriptionId : undefined,\n fieldError ? errorId : undefined,\n );\n\n const control = (\n <AntAutoComplete\n {...props}\n id={controlId}\n className={mergeAutoCompleteClassNames(DS_AUTOCOMPLETE_CLASS, DS_SELECT_CLASS, className)}\n style={{ fontFamily: DS_AUTOCOMPLETE_FONT_FAMILY, ...style }}\n aria-describedby={describedBy}\n aria-invalid={fieldError ? true : undefined}\n onChange={(nextValue) => {\n props.onChange?.(nextValue);\n onValueChange?.(String(nextValue));\n }}\n />\n );\n\n if (!shouldWrapInFieldShell) {\n return control;\n }\n\n return (\n <FieldShell\n label={fieldLabel}\n required={fieldRequired}\n htmlFor={controlId}\n description={fieldDescription}\n descriptionId={descriptionId}\n error={fieldError}\n errorId={errorId}\n clear={clear}\n clearable={clearable}\n clearLabel={clearLabel}\n clearVisibility={clearVisibility}\n clearValue={props.value}\n onClear={() => {\n clearAction?.();\n onValueChange?.('');\n props.onChange?.('');\n }}\n extraActions={fieldActions}\n style={containerStyle}\n >\n {control}\n </FieldShell>\n );\n};\n\nAutoComplete.displayName = 'AutoComplete';\n"],"mappings":"2PAEA,IAAM,EAAW,yBACJ,EAAwB,kBAE/B,EAAc,EAAA,SAAS,OAAO,YAAc,uBACrC,EAA8B,EAE9B,GAA+B,GAAG,IAC7C,EAAW,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAEhC,MAAiC,CAC5C,GAAI,OAAO,SAAa,IACtB,OAGF,IAAI,EAAQ,SAAS,eAAe,EAAS,CACxC,IACH,EAAQ,SAAS,cAAc,QAAQ,CACvC,EAAM,GAAK,EACX,SAAS,KAAK,YAAY,EAAM,EAElC,EAAM,YAAc;OACf,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;;OAG1B,EAAsB;OACtB,EAAsB;OACtB,EAAsB;;;;OAItB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;KCpCpB,GAAgB,CAC3B,YACA,QACA,aACA,gBACA,mBACA,aACA,eACA,iBACA,QACA,YAAY,GACZ,aACA,kBAAkB,SAClB,UACA,gBACA,KACA,GAAG,KAC6C,CAChD,IAAM,GAAA,EAAA,EAAA,QAAqB,EAC3B,EAAA,EAAA,eAAgB,CACd,EAAA,GAAoB,CACpB,GAA0B,EACzB,EAAE,CAAC,CAEN,IAAM,EAAyB,GAC7B,GACE,GACA,GACA,GACA,GACA,GACA,GACA,GAEE,EAAY,IAAO,EAAyB,EAAc,IAAA,IAC1D,EAAgB,EAAY,GAAG,EAAU,cAAgB,IAAA,GACzD,EAAU,EAAY,GAAG,EAAU,QAAU,IAAA,GAC7C,EAAc,GAAO,SAAW,EAChC,EAAc,EAAA,EAClB,EAAmB,EAAgB,IAAA,GACnC,EAAa,EAAU,IAAA,GACxB,CAEK,GACJ,EAAA,EAAA,KAAC,EAAA,aAAD,CACE,GAAI,EACJ,GAAI,EACJ,UAAW,EAA4B,EAAuB,EAAA,EAAiB,EAAU,CACzF,MAAO,CAAE,WAAY,EAA6B,GAAG,EAAO,CAC5D,mBAAkB,EAClB,eAAc,EAAa,GAAO,IAAA,GAClC,SAAW,GAAc,CACvB,EAAM,WAAW,EAAU,CAC3B,IAAgB,OAAO,EAAU,CAAC,EAEpC,CAAA,CAOJ,OAJK,GAKH,EAAA,EAAA,KAAC,EAAA,WAAD,CACE,MAAO,EACP,SAAU,EACV,QAAS,EACT,YAAa,EACE,gBACf,MAAO,EACE,UACF,QACI,YACC,aACK,kBACjB,WAAY,EAAM,MAClB,YAAe,CACb,KAAe,CACf,IAAgB,GAAG,CACnB,EAAM,WAAW,GAAG,EAEtB,aAAc,EACd,MAAO,WAEN,EACU,CAAA,CA1BN,GA8BX,EAAa,YAAc"}
@@ -1,7 +1,7 @@
1
1
  import { appTheme as e } from "./theme.js";
2
2
  import { FieldShell as t } from "./forms/FieldShell.js";
3
3
  import { t as n } from "./fieldProps-EeYy2kXb.js";
4
- import { s as r, t as i } from "./selectStyles-C8j5Vvgp.js";
4
+ import { c as r, t as i } from "./selectStyles-7f37TvzD.js";
5
5
  import { AutoComplete as a } from "antd";
6
6
  import { useEffect as o, useId as s } from "react";
7
7
  import { jsx as c } from "react/jsx-runtime";
@@ -90,4 +90,4 @@ h.displayName = "AutoComplete";
90
90
  //#endregion
91
91
  export { h as t };
92
92
 
93
- //# sourceMappingURL=AutoComplete-cpf8hCnK.js.map
93
+ //# sourceMappingURL=AutoComplete-CCYcFqfs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete-cpf8hCnK.js","names":[],"sources":["../src/ds/forms/autoCompleteStyles.ts","../src/ds/forms/AutoComplete.tsx"],"sourcesContent":["import { appTheme } from '../../theme/ontadaTheme';\n\nconst STYLE_ID = 'ds-autocomplete-styles';\nexport const DS_AUTOCOMPLETE_CLASS = 'ds-autocomplete';\n\nconst FONT_FAMILY = appTheme.token?.fontFamily ?? \"'Nunito', sans-serif\";\nexport const DS_AUTOCOMPLETE_FONT_FAMILY = FONT_FAMILY;\n\nexport const mergeAutoCompleteClassNames = (...classNames: Array<string | undefined>): string =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const ensureAutoCompleteStyles = () => {\n if (typeof document === 'undefined') {\n return;\n }\n\n let style = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n if (!style) {\n style = document.createElement('style');\n style.id = STYLE_ID;\n document.head.appendChild(style);\n }\n style.textContent = `\n .${DS_AUTOCOMPLETE_CLASS},\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-placeholder {\n font-family: ${FONT_FAMILY} !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector {\n border-radius: 4px !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-input,\n .${DS_AUTOCOMPLETE_CLASS} input,\n .${DS_AUTOCOMPLETE_CLASS} textarea {\n font-family: ${FONT_FAMILY} !important;\n }\n `;\n\n};\n","import { AutoComplete as AntAutoComplete } from 'antd';\nimport type { ComponentProps } from 'react';\nimport { useEffect, useId } from 'react';\nimport { FieldShell } from './FieldShell';\nimport type { DSFieldShellProps } from './fieldProps';\nimport { joinDescribedByIds } from './fieldProps';\nimport {\n DS_AUTOCOMPLETE_CLASS,\n DS_AUTOCOMPLETE_FONT_FAMILY,\n ensureAutoCompleteStyles,\n mergeAutoCompleteClassNames,\n} from './autoCompleteStyles';\nimport { DS_SELECT_CLASS, ensureSelectStyles } from './selectStyles';\n\nexport type AutoCompleteProps = ComponentProps<typeof AntAutoComplete>;\n\nexport type AutoCompleteFieldProps = DSFieldShellProps & {\n onValueChange?: (nextValue: string) => void;\n};\n\nexport const AutoComplete = ({\n className,\n style,\n fieldLabel,\n fieldRequired,\n fieldDescription,\n fieldError,\n fieldActions,\n containerStyle,\n clear,\n clearable = false,\n clearLabel,\n clearVisibility = 'always',\n onClear,\n onValueChange,\n id,\n ...props\n}: AutoCompleteProps & AutoCompleteFieldProps) => {\n const generatedId = useId();\n useEffect(() => {\n ensureSelectStyles();\n ensureAutoCompleteStyles();\n }, []);\n\n const shouldWrapInFieldShell = Boolean(\n fieldLabel ||\n fieldRequired ||\n fieldDescription ||\n fieldError ||\n fieldActions ||\n clearable ||\n clear ||\n onClear,\n );\n const controlId = id ?? (shouldWrapInFieldShell ? generatedId : undefined);\n const descriptionId = controlId ? `${controlId}-description` : undefined;\n const errorId = controlId ? `${controlId}-error` : undefined;\n const clearAction = clear?.onClear ?? onClear;\n const describedBy = joinDescribedByIds(\n fieldDescription ? descriptionId : undefined,\n fieldError ? errorId : undefined,\n );\n\n const control = (\n <AntAutoComplete\n {...props}\n id={controlId}\n className={mergeAutoCompleteClassNames(DS_AUTOCOMPLETE_CLASS, DS_SELECT_CLASS, className)}\n style={{ fontFamily: DS_AUTOCOMPLETE_FONT_FAMILY, ...style }}\n aria-describedby={describedBy}\n aria-invalid={fieldError ? true : undefined}\n onChange={(nextValue) => {\n props.onChange?.(nextValue);\n onValueChange?.(String(nextValue));\n }}\n />\n );\n\n if (!shouldWrapInFieldShell) {\n return control;\n }\n\n return (\n <FieldShell\n label={fieldLabel}\n required={fieldRequired}\n htmlFor={controlId}\n description={fieldDescription}\n descriptionId={descriptionId}\n error={fieldError}\n errorId={errorId}\n clear={clear}\n clearable={clearable}\n clearLabel={clearLabel}\n clearVisibility={clearVisibility}\n clearValue={props.value}\n onClear={() => {\n clearAction?.();\n onValueChange?.('');\n props.onChange?.('');\n }}\n extraActions={fieldActions}\n style={containerStyle}\n >\n {control}\n </FieldShell>\n );\n};\n\nAutoComplete.displayName = 'AutoComplete';\n"],"mappings":";;;;;;;;AAEA,IAAM,IAAW,0BACJ,IAAwB,mBAE/B,IAAc,EAAS,OAAO,cAAc,wBACrC,IAA8B,GAE9B,KAA+B,GAAG,MAC7C,EAAW,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,EAEhC,UAAiC;AAC5C,KAAI,OAAO,WAAa,IACtB;CAGF,IAAI,IAAQ,SAAS,eAAe,EAAS;AAM7C,CALK,MACH,IAAQ,SAAS,cAAc,QAAQ,EACvC,EAAM,KAAK,GACX,SAAS,KAAK,YAAY,EAAM,GAElC,EAAM,cAAc;OACf,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;;OAG1B,EAAsB;OACtB,EAAsB;OACtB,EAAsB;;;;OAItB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;;GCpCpB,KAAgB,EAC3B,cACA,UACA,eACA,kBACA,qBACA,eACA,iBACA,mBACA,UACA,eAAY,IACZ,eACA,qBAAkB,UAClB,YACA,kBACA,OACA,GAAG,QAC6C;CAChD,IAAM,IAAc,GAAO;AAC3B,SAAgB;AAEd,EADA,GAAoB,EACpB,GAA0B;IACzB,EAAE,CAAC;CAEN,IAAM,IAAyB,GAC7B,KACE,KACA,KACA,KACA,KACA,KACA,KACA,IAEE,IAAY,MAAO,IAAyB,IAAc,KAAA,IAC1D,IAAgB,IAAY,GAAG,EAAU,gBAAgB,KAAA,GACzD,IAAU,IAAY,GAAG,EAAU,UAAU,KAAA,GAC7C,IAAc,GAAO,WAAW,GAChC,IAAc,EAClB,IAAmB,IAAgB,KAAA,GACnC,IAAa,IAAU,KAAA,EACxB,EAEK,IACJ,kBAAC,GAAD;EACE,GAAI;EACJ,IAAI;EACJ,WAAW,EAA4B,GAAuB,GAAiB,EAAU;EACzF,OAAO;GAAE,YAAY;GAA6B,GAAG;GAAO;EAC5D,oBAAkB;EAClB,gBAAc,IAAa,KAAO,KAAA;EAClC,WAAW,MAAc;AAEvB,GADA,EAAM,WAAW,EAAU,EAC3B,IAAgB,OAAO,EAAU,CAAC;;EAEpC,CAAA;AAOJ,QAJK,IAKH,kBAAC,GAAD;EACE,OAAO;EACP,UAAU;EACV,SAAS;EACT,aAAa;EACE;EACf,OAAO;EACE;EACF;EACI;EACC;EACK;EACjB,YAAY,EAAM;EAClB,eAAe;AAGb,GAFA,KAAe,EACf,IAAgB,GAAG,EACnB,EAAM,WAAW,GAAG;;EAEtB,cAAc;EACd,OAAO;YAEN;EACU,CAAA,GA1BN;;AA8BX,EAAa,cAAc"}
1
+ {"version":3,"file":"AutoComplete-CCYcFqfs.js","names":[],"sources":["../src/ds/forms/autoCompleteStyles.ts","../src/ds/forms/AutoComplete.tsx"],"sourcesContent":["import { appTheme } from '../../theme/ontadaTheme';\n\nconst STYLE_ID = 'ds-autocomplete-styles';\nexport const DS_AUTOCOMPLETE_CLASS = 'ds-autocomplete';\n\nconst FONT_FAMILY = appTheme.token?.fontFamily ?? \"'Nunito', sans-serif\";\nexport const DS_AUTOCOMPLETE_FONT_FAMILY = FONT_FAMILY;\n\nexport const mergeAutoCompleteClassNames = (...classNames: Array<string | undefined>): string =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const ensureAutoCompleteStyles = () => {\n if (typeof document === 'undefined') {\n return;\n }\n\n let style = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n if (!style) {\n style = document.createElement('style');\n style.id = STYLE_ID;\n document.head.appendChild(style);\n }\n style.textContent = `\n .${DS_AUTOCOMPLETE_CLASS},\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-placeholder {\n font-family: ${FONT_FAMILY} !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS}.ant-select,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-select-selector,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selector {\n border-radius: 4px !important;\n }\n\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-search-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-item,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-selection-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-content,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-input,\n .${DS_AUTOCOMPLETE_CLASS} .ant-select-placeholder,\n .${DS_AUTOCOMPLETE_CLASS} .ant-input,\n .${DS_AUTOCOMPLETE_CLASS}.ant-select .ant-input,\n .${DS_AUTOCOMPLETE_CLASS} input,\n .${DS_AUTOCOMPLETE_CLASS} textarea {\n font-family: ${FONT_FAMILY} !important;\n }\n `;\n\n};\n","import { AutoComplete as AntAutoComplete } from 'antd';\nimport type { ComponentProps } from 'react';\nimport { useEffect, useId } from 'react';\nimport { FieldShell } from './FieldShell';\nimport type { DSFieldShellProps } from './fieldProps';\nimport { joinDescribedByIds } from './fieldProps';\nimport {\n DS_AUTOCOMPLETE_CLASS,\n DS_AUTOCOMPLETE_FONT_FAMILY,\n ensureAutoCompleteStyles,\n mergeAutoCompleteClassNames,\n} from './autoCompleteStyles';\nimport { DS_SELECT_CLASS, ensureSelectStyles } from './selectStyles';\n\nexport type AutoCompleteProps = ComponentProps<typeof AntAutoComplete>;\n\nexport type AutoCompleteFieldProps = DSFieldShellProps & {\n onValueChange?: (nextValue: string) => void;\n};\n\nexport const AutoComplete = ({\n className,\n style,\n fieldLabel,\n fieldRequired,\n fieldDescription,\n fieldError,\n fieldActions,\n containerStyle,\n clear,\n clearable = false,\n clearLabel,\n clearVisibility = 'always',\n onClear,\n onValueChange,\n id,\n ...props\n}: AutoCompleteProps & AutoCompleteFieldProps) => {\n const generatedId = useId();\n useEffect(() => {\n ensureSelectStyles();\n ensureAutoCompleteStyles();\n }, []);\n\n const shouldWrapInFieldShell = Boolean(\n fieldLabel ||\n fieldRequired ||\n fieldDescription ||\n fieldError ||\n fieldActions ||\n clearable ||\n clear ||\n onClear,\n );\n const controlId = id ?? (shouldWrapInFieldShell ? generatedId : undefined);\n const descriptionId = controlId ? `${controlId}-description` : undefined;\n const errorId = controlId ? `${controlId}-error` : undefined;\n const clearAction = clear?.onClear ?? onClear;\n const describedBy = joinDescribedByIds(\n fieldDescription ? descriptionId : undefined,\n fieldError ? errorId : undefined,\n );\n\n const control = (\n <AntAutoComplete\n {...props}\n id={controlId}\n className={mergeAutoCompleteClassNames(DS_AUTOCOMPLETE_CLASS, DS_SELECT_CLASS, className)}\n style={{ fontFamily: DS_AUTOCOMPLETE_FONT_FAMILY, ...style }}\n aria-describedby={describedBy}\n aria-invalid={fieldError ? true : undefined}\n onChange={(nextValue) => {\n props.onChange?.(nextValue);\n onValueChange?.(String(nextValue));\n }}\n />\n );\n\n if (!shouldWrapInFieldShell) {\n return control;\n }\n\n return (\n <FieldShell\n label={fieldLabel}\n required={fieldRequired}\n htmlFor={controlId}\n description={fieldDescription}\n descriptionId={descriptionId}\n error={fieldError}\n errorId={errorId}\n clear={clear}\n clearable={clearable}\n clearLabel={clearLabel}\n clearVisibility={clearVisibility}\n clearValue={props.value}\n onClear={() => {\n clearAction?.();\n onValueChange?.('');\n props.onChange?.('');\n }}\n extraActions={fieldActions}\n style={containerStyle}\n >\n {control}\n </FieldShell>\n );\n};\n\nAutoComplete.displayName = 'AutoComplete';\n"],"mappings":";;;;;;;;AAEA,IAAM,IAAW,0BACJ,IAAwB,mBAE/B,IAAc,EAAS,OAAO,cAAc,wBACrC,IAA8B,GAE9B,KAA+B,GAAG,MAC7C,EAAW,OAAO,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,EAEhC,UAAiC;AAC5C,KAAI,OAAO,WAAa,IACtB;CAGF,IAAI,IAAQ,SAAS,eAAe,EAAS;AAM7C,CALK,MACH,IAAQ,SAAS,cAAc,QAAQ,EACvC,EAAM,KAAK,GACX,SAAS,KAAK,YAAY,EAAM,GAElC,EAAM,cAAc;OACf,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;;OAG1B,EAAsB;OACtB,EAAsB;OACtB,EAAsB;;;;OAItB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;OACtB,EAAsB;qBACR,EAAY;;;GCpCpB,KAAgB,EAC3B,cACA,UACA,eACA,kBACA,qBACA,eACA,iBACA,mBACA,UACA,eAAY,IACZ,eACA,qBAAkB,UAClB,YACA,kBACA,OACA,GAAG,QAC6C;CAChD,IAAM,IAAc,GAAO;AAC3B,SAAgB;AAEd,EADA,GAAoB,EACpB,GAA0B;IACzB,EAAE,CAAC;CAEN,IAAM,IAAyB,GAC7B,KACE,KACA,KACA,KACA,KACA,KACA,KACA,IAEE,IAAY,MAAO,IAAyB,IAAc,KAAA,IAC1D,IAAgB,IAAY,GAAG,EAAU,gBAAgB,KAAA,GACzD,IAAU,IAAY,GAAG,EAAU,UAAU,KAAA,GAC7C,IAAc,GAAO,WAAW,GAChC,IAAc,EAClB,IAAmB,IAAgB,KAAA,GACnC,IAAa,IAAU,KAAA,EACxB,EAEK,IACJ,kBAAC,GAAD;EACE,GAAI;EACJ,IAAI;EACJ,WAAW,EAA4B,GAAuB,GAAiB,EAAU;EACzF,OAAO;GAAE,YAAY;GAA6B,GAAG;GAAO;EAC5D,oBAAkB;EAClB,gBAAc,IAAa,KAAO,KAAA;EAClC,WAAW,MAAc;AAEvB,GADA,EAAM,WAAW,EAAU,EAC3B,IAAgB,OAAO,EAAU,CAAC;;EAEpC,CAAA;AAOJ,QAJK,IAKH,kBAAC,GAAD;EACE,OAAO;EACP,UAAU;EACV,SAAS;EACT,aAAa;EACE;EACf,OAAO;EACE;EACF;EACI;EACC;EACK;EACjB,YAAY,EAAM;EAClB,eAAe;AAGb,GAFA,KAAe,EACf,IAAgB,GAAG,EACnB,EAAM,WAAW,GAAG;;EAEtB,cAAc;EACd,OAAO;YAEN;EACU,CAAA,GA1BN;;AA8BX,EAAa,cAAc"}
@@ -514,5 +514,5 @@ require(`./chunk-Bmb41Sf3.cjs`);const e=require(`./core-bPY3ouxp.cjs`),t=require
514
514
  background: ${e.t.accent.highlightBg} !important;
515
515
  }
516
516
 
517
- `},f=`MM-DD-YYYY`,p=({className:e,popupClassName:t,classNames:s,fieldLabel:f,fieldRequired:p,fieldDescription:m,fieldError:h,fieldActions:g,containerStyle:_,clear:v,clearable:y=!1,clearLabel:b,clearVisibility:x=`always`,onClear:S,onValueChange:C,id:w,...T})=>{let E=(0,a.useId)();(0,a.useEffect)(()=>{d()},[]);let D=!!(f||p||m||h||g||y||v||S),O=w??(D?E:void 0),k=O?`${O}-description`:void 0,A=O?`${O}-error`:void 0,j=v?.onClear??S,M=u(c,e),N=u(l,s?.popup?.root,t),P={...s??{},popup:{...s?.popup??{},root:N}},F=T.format??`MM-DD-YYYY`,I=T.placeholder??`MM-DD-YYYY`,L=r.t(m?k:void 0,h?A:void 0),R=(0,o.jsx)(i.DatePicker,{...T,id:O,format:F,placeholder:I,className:M,classNames:P,status:h?`error`:T.status,"aria-describedby":L,"aria-invalid":h?!0:void 0,onChange:(e,t)=>{T.onChange?.(e,t),C?.(e)}});return D?(0,o.jsx)(n.FieldShell,{label:f,required:p,htmlFor:O,description:m,descriptionId:k,error:h,errorId:A,clear:v,clearable:y,clearLabel:b,clearVisibility:x,clearValue:T.value,onClear:()=>{j?.(),C?.(null),T.onChange?.(null,``)},extraActions:g,style:_,children:R}):R};p.displayName=`DatePicker`;var m=({className:e,popupClassName:t,classNames:n,...r})=>{(0,a.useEffect)(()=>{d()},[]);let s=u(c,e),f=u(l,n?.popup?.root,t),p={...n??{},popup:{...n?.popup??{},root:f}},m=r.format??`MM-DD-YYYY`,h=r.placeholder??[`MM-DD-YYYY`,`MM-DD-YYYY`];return(0,o.jsx)(i.DatePicker.RangePicker,{...r,format:m,placeholder:h,className:s,classNames:p})};m.displayName=`DatePicker.RangePicker`,p.RangePicker=m,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
518
- //# sourceMappingURL=DatePicker-DTVtamsX.cjs.map
517
+ `},f=`MM-DD-YYYY`;function p(e,t){let n=e.replace(/\D/g,``).slice(0,8);return n.length<=2?n:n.length<=4?`${n.slice(0,2)}${t}${n.slice(2)}`:`${n.slice(0,2)}${t}${n.slice(2,4)}${t}${n.slice(4)}`}var m=new Set([`Backspace`,`Delete`,`Tab`,`Enter`,`Escape`,`ArrowLeft`,`ArrowRight`,`ArrowUp`,`ArrowDown`,`Home`,`End`]);function h(e){function t({onKeyDown:t,onChange:n,...r}){let i=e=>{!m.has(e.key)&&!/^\d$/.test(e.key)&&!e.ctrlKey&&!e.metaKey&&e.preventDefault(),t?.(e)},a=t=>{let{value:r,selectionStart:i}=t.target;if(!(i==null||i===r.length)){n?.(t);return}let a=p(r,e);if(a===r){n?.(t);return}let o=Object.create(t);Object.defineProperty(o,`target`,{configurable:!0,get:()=>({...t.target,value:a})}),n?.(o)};return(0,o.jsx)(`input`,{...r,onKeyDown:i,onChange:a})}return t.displayName=`MaskedDateInput(${e})`,t}var g=h(`-`),_=h(`/`),v=({className:e,popupClassName:t,classNames:s,fieldLabel:f,fieldRequired:p,fieldDescription:m,fieldError:h,fieldActions:v,containerStyle:y,clear:b,clearable:x=!1,clearLabel:S,clearVisibility:C=`always`,onClear:w,onValueChange:T,dsMaskEnabled:E=!0,dsMaskSeparator:D=`-`,id:O,...k})=>{let A=(0,a.useId)();(0,a.useEffect)(()=>{d()},[]);let j=!!(f||p||m||h||v||x||b||w),M=O??(j?A:void 0),N=M?`${M}-description`:void 0,P=M?`${M}-error`:void 0,F=b?.onClear??w,I=u(c,e),L=u(l,s?.popup?.root,t),R={...s??{},popup:{...s?.popup??{},root:L}},z=!k.picker||k.picker===`date`,B=E&&z&&!k.multiple&&!k.inputReadOnly,V=D,H=k.format??`MM${V}DD${V}YYYY`,U=k.placeholder??`MM${V}DD${V}YYYY`,W=B?V===`/`?_:g:void 0,G=W&&!k.components?.input?{...k.components,input:W}:k.components,K=r.t(m?N:void 0,h?P:void 0),q=(0,o.jsx)(i.DatePicker,{...k,id:M,format:H,placeholder:U,className:I,classNames:R,components:G,status:h?`error`:k.status,"aria-describedby":K,"aria-invalid":h?!0:void 0,onChange:(e,t)=>{k.onChange?.(e,t),T?.(e)}});return j?(0,o.jsx)(n.FieldShell,{label:f,required:p,htmlFor:M,description:m,descriptionId:N,error:h,errorId:P,clear:b,clearable:x,clearLabel:S,clearVisibility:C,clearValue:k.value,onClear:()=>{F?.(),T?.(null),k.onChange?.(null,``)},extraActions:v,style:y,children:q}):q};v.displayName=`DatePicker`;var y=({className:e,popupClassName:t,classNames:n,...r})=>{(0,a.useEffect)(()=>{d()},[]);let s=u(c,e),f=u(l,n?.popup?.root,t),p={...n??{},popup:{...n?.popup??{},root:f}},m=r.format??`MM-DD-YYYY`,h=r.placeholder??[`MM-DD-YYYY`,`MM-DD-YYYY`];return(0,o.jsx)(i.DatePicker.RangePicker,{...r,format:m,placeholder:h,className:s,classNames:p})};y.displayName=`DatePicker.RangePicker`,v.RangePicker=y,Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return f}});
518
+ //# sourceMappingURL=DatePicker-CQgt-WoB.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker-DTVtamsX.cjs","names":[],"sources":["../src/ds/forms/datePickerStyles.ts","../src/ds/forms/DatePicker.tsx"],"sourcesContent":["import { dsSemanticTokens } from '../../theme/ontadaTheme';\nimport { CORE_COLORS } from '../../tokens/core';\n\nconst STYLE_ID = 'ds-date-picker-styles';\n\nexport const DS_PICKER_CLASS = 'ds-date-picker';\nexport const DS_PICKER_PANEL_CLASS = 'ds-date-picker-panel';\n\nexport const mergePickerClassNames = (...classNames: Array<string | undefined>): string =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const ensureDatePickerStyles = () => {\n if (typeof document === 'undefined') {\n return;\n }\n\n const { button, input } = dsSemanticTokens;\n let style = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n if (!style) {\n style = document.createElement('style');\n style.id = STYLE_ID;\n document.head.appendChild(style);\n }\n\n style.textContent = `\n\n /* ── Trigger: base ───────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker {\n border-color: ${input.border.default} !important;\n border-width: ${input.border.widthDefault} !important;\n border-style: solid !important;\n border-radius: ${input.border.radius} !important;\n background-color: ${input.background.default} !important;\n box-shadow: none !important;\n min-height: ${input.height.middle} !important;\n height: ${input.height.middle} !important;\n padding: 0 ${input.padding.middle.x} !important;\n display: inline-flex !important;\n align-items: center !important;\n width: 100% !important;\n transition: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker:has(.ant-picker-input > input[readonly]:not(:disabled)) {\n background-color: ${input.background.readOnly} !important;\n border-color: ${input.border.default} !important;\n box-shadow: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined {\n border-color: ${input.border.default} !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: sizes ──────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-small {\n min-height: ${input.height.small} !important;\n height: ${input.height.small} !important;\n padding: 0 ${input.padding.small.x} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-large {\n min-height: ${input.height.large} !important;\n height: ${input.height.large} !important;\n padding: 0 ${input.padding.large.x} !important;\n }\n\n /* ── Trigger: hover ──────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker:not(.ant-picker-disabled):hover,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined:not(.ant-picker-disabled):hover {\n border-color: ${input.border.hover} !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: focus / open ───────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-focused {\n border-color: ${input.border.focus} !important;\n border-width: ${input.border.widthFocus} !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused:hover,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-focused:hover {\n border-color: ${input.border.focus} !important;\n border-width: ${input.border.widthFocus} !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker:focus-within,\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input:focus,\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: status ─────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-status-error {\n border-color: ${input.border.error} !important;\n box-shadow: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-warning,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-status-warning {\n border-color: ${CORE_COLORS.status.warning} !important;\n box-shadow: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-success,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-status-success {\n border-color: ${input.border.success} !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: disabled ───────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled {\n background-color: ${input.background.disabled} !important;\n border-color: transparent !important;\n box-shadow: none !important;\n }\n\n /* ── Input text ──────────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input {\n font-size: 14px !important;\n line-height: 18px !important;\n font-weight: 400 !important;\n color: ${CORE_COLORS.text.strong} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input::placeholder {\n color: ${input.text.placeholder} !important;\n font-weight: 400 !important;\n opacity: 1 !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused .ant-picker-input > input {\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: ${input.focusFontWeight} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error .ant-picker-input > input {\n color: ${input.border.error} !important;\n font-weight: ${input.focusFontWeight} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled .ant-picker-input > input {\n color: ${input.text.disabled} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input[readonly]:not(:disabled) {\n color: ${input.text.readOnly} !important;\n font-weight: 400 !important;\n }\n\n /* ── Suffix icon ─────────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-suffix .anticon {\n color: ${input.border.default} !important;\n font-size: 14px !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused .ant-picker-suffix .anticon {\n color: ${input.border.default} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error .ant-picker-suffix .anticon {\n color: ${input.border.default} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled .ant-picker-suffix .anticon {\n color: ${input.text.disabled} !important;\n }\n\n /* ── Clear button ────────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-clear {\n color: ${input.text.default} !important;\n background: ${input.background.default} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-clear:hover {\n color: ${input.text.focus} !important;\n }\n\n /* ── Calendar panel container ────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-panel-container {\n border: 1px solid ${input.text.focus} !important;\n border-radius: 4px !important;\n background: ${input.background.default} !important;\n box-shadow: 0 2px 4px color-mix(in srgb, ${CORE_COLORS.text.primary} 30%, transparent) !important;\n overflow: hidden !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-panel {\n border: 0 !important;\n border-radius: 0 !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-date-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel {\n width: 300px !important;\n padding: 16px !important;\n }\n\n /* ── Panel header ────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header {\n border-bottom: 0 !important;\n padding: 0 0 8px !important;\n color: ${input.text.focus} !important;\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header button {\n color: ${input.text.focus} !important;\n font-size: 14px !important;\n line-height: 18px !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n padding: 0 !important;\n margin: 0 !important;\n border: 0 !important;\n background: transparent !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header button:hover {\n color: ${input.border.focus} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view {\n font-size: 16px !important;\n font-weight: 600 !important;\n line-height: 20px !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n color: ${button.primary.default} !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 2px !important;\n order: 1 !important;\n margin-right: auto !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view *,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button *,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button span {\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button {\n color: ${button.primary.default} !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n line-height: 20px !important;\n letter-spacing: ${button.typography.middle.letterSpacing} !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n cursor: pointer !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button:hover {\n color: ${button.primary.hover} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button:active,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button:focus-visible {\n color: ${button.primary.pressed} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-super-prev-btn,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-super-next-btn {\n display: none !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-btn,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-btn {\n width: 14px !important;\n height: 14px !important;\n min-width: 14px !important;\n min-height: 14px !important;\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n color: ${input.text.focus} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-btn,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-btn {\n margin-left: 16px !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-btn {\n order: 2 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-btn {\n order: 3 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-icon,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-icon {\n width: 14px !important;\n height: 14px !important;\n font-size: 14px !important;\n }\n\n /* ── Day-of-week header row ──────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-content th {\n color: ${input.border.default} !important;\n font-size: 12px !important;\n font-weight: 600 !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n text-transform: uppercase !important;\n letter-spacing: 0.48px !important;\n padding: 0 0 8px !important;\n }\n\n /* ── Day cells ───────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-body {\n padding: 0 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell {\n color: ${CORE_COLORS.text.strong} !important;\n padding: 2px 0 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-in-view {\n color: ${CORE_COLORS.text.strong} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-content tr {\n display: table-row !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-content td {\n display: table-cell !important;\n visibility: visible !important;\n opacity: 1 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner {\n font-size: 12px !important;\n font-weight: 400 !important;\n line-height: 16px !important;\n min-width: 28px !important;\n height: 28px !important;\n border-radius: 50% !important;\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n\n /* ── Cell: hover ─────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown\n .ant-picker-cell:not(.ant-picker-cell-selected):not(.ant-picker-cell-disabled):not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end):not(.ant-picker-cell-range-hover):hover\n .ant-picker-cell-inner {\n background: ${CORE_COLORS.semantic.infoBg} !important;\n color: ${input.text.focus} !important;\n }\n\n /* ── Cell: today ─────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner {\n font-weight: 400 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner::before {\n border: 1px solid ${CORE_COLORS.text.strong} !important;\n border-radius: 50% !important;\n }\n\n /* ── Cell: selected ──────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 50% !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner::before {\n border: 0 !important;\n }\n\n /* ── Month / year panel cell selected ────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell-selected .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 16px !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell .ant-picker-cell-inner {\n font-size: 14px !important;\n line-height: 18px !important;\n font-weight: 400 !important;\n border-radius: 16px !important;\n min-width: 56px !important;\n height: 28px !important;\n padding: 0 8px !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-range-hover::before {\n background: transparent !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell:hover::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-in-view.ant-picker-cell-in-range::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-in-view.ant-picker-cell-range-hover::before {\n background: transparent !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 50% !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner::before {\n border: 0 !important;\n background: transparent !important;\n }\n\n /* ── Footer ──────────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-footer {\n display: none !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-today-btn {\n color: ${input.border.focus} !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-today-btn:hover {\n color: ${CORE_COLORS.brand.primaryHover} !important;\n }\n\n /* ── Range picker ────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-in-range .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightBg} !important;\n color: ${CORE_COLORS.text.strong} !important;\n border-radius: 0 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-in-range::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end::before {\n background: ${CORE_COLORS.accent.highlightBg} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 50% !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start.ant-picker-cell-range-hover-start .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end.ant-picker-cell-range-hover-end .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-hover-start .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-hover-end .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightBg} !important;\n }\n\n `;\n\n};\n","import { DatePicker as AntDatePicker } from 'antd';\nimport type { DatePickerProps } from 'antd';\nimport { useEffect, useId } from 'react';\nimport type { ComponentProps } from 'react';\nimport { FieldShell } from './FieldShell';\nimport type { DSFieldShellProps } from './fieldProps';\nimport { joinDescribedByIds } from './fieldProps';\nimport {\n DS_PICKER_CLASS,\n DS_PICKER_PANEL_CLASS,\n ensureDatePickerStyles,\n mergePickerClassNames,\n} from './datePickerStyles';\n\nexport type DSDatePickerProps = DatePickerProps & DSFieldShellProps & {\n onValueChange?: (value: any) => void;\n};\nexport const DS_DATE_FORMAT = 'MM-DD-YYYY';\n\ntype DSRangePickerProps = ComponentProps<typeof AntDatePicker.RangePicker>;\n\nexport const DatePicker = ({\n className: providedClassName,\n popupClassName: providedPopupClassName,\n classNames: providedClassNames,\n fieldLabel,\n fieldRequired,\n fieldDescription,\n fieldError,\n fieldActions,\n containerStyle,\n clear,\n clearable = false,\n clearLabel,\n clearVisibility = 'always',\n onClear,\n onValueChange,\n id,\n ...props\n}: DSDatePickerProps) => {\n const generatedId = useId();\n useEffect(() => {\n ensureDatePickerStyles();\n }, []);\n\n const shouldWrapInFieldShell = Boolean(\n fieldLabel ||\n fieldRequired ||\n fieldDescription ||\n fieldError ||\n fieldActions ||\n clearable ||\n clear ||\n onClear,\n );\n const controlId = id ?? (shouldWrapInFieldShell ? generatedId : undefined);\n const descriptionId = controlId ? `${controlId}-description` : undefined;\n const errorId = controlId ? `${controlId}-error` : undefined;\n const clearAction = clear?.onClear ?? onClear;\n\n const mergedClassName = mergePickerClassNames(DS_PICKER_CLASS, providedClassName);\n const mergedPopupRootClassName = mergePickerClassNames(\n DS_PICKER_PANEL_CLASS,\n (providedClassNames as any)?.popup?.root,\n providedPopupClassName,\n );\n\n const mergedClassNames = {\n ...(providedClassNames ?? {}),\n popup: {\n ...((providedClassNames as any)?.popup ?? {}),\n root: mergedPopupRootClassName,\n },\n } as DatePickerProps['classNames'];\n\n const resolvedFormat = props.format ?? DS_DATE_FORMAT;\n const resolvedPlaceholder = props.placeholder ?? DS_DATE_FORMAT;\n const describedBy = joinDescribedByIds(\n fieldDescription ? descriptionId : undefined,\n fieldError ? errorId : undefined,\n );\n\n const control = (\n <AntDatePicker\n {...props}\n id={controlId}\n format={resolvedFormat}\n placeholder={resolvedPlaceholder}\n className={mergedClassName}\n classNames={mergedClassNames}\n status={fieldError ? 'error' : props.status}\n aria-describedby={describedBy}\n aria-invalid={fieldError ? true : undefined}\n onChange={(date, dateString) => {\n props.onChange?.(date, dateString);\n onValueChange?.(date);\n }}\n />\n );\n\n if (!shouldWrapInFieldShell) {\n return control;\n }\n\n return (\n <FieldShell\n label={fieldLabel}\n required={fieldRequired}\n htmlFor={controlId}\n description={fieldDescription}\n descriptionId={descriptionId}\n error={fieldError}\n errorId={errorId}\n clear={clear}\n clearable={clearable}\n clearLabel={clearLabel}\n clearVisibility={clearVisibility}\n clearValue={props.value}\n onClear={() => {\n clearAction?.();\n onValueChange?.(null);\n props.onChange?.(null, '');\n }}\n extraActions={fieldActions}\n style={containerStyle}\n >\n {control}\n </FieldShell>\n );\n};\n\nDatePicker.displayName = 'DatePicker';\n\nconst DSRangePicker = ({\n className: providedClassName,\n popupClassName: providedPopupClassName,\n classNames: providedClassNames,\n ...props\n}: DSRangePickerProps) => {\n useEffect(() => {\n ensureDatePickerStyles();\n }, []);\n\n const mergedClassName = mergePickerClassNames(DS_PICKER_CLASS, providedClassName);\n const mergedPopupRootClassName = mergePickerClassNames(\n DS_PICKER_PANEL_CLASS,\n (providedClassNames as any)?.popup?.root,\n providedPopupClassName,\n );\n\n const mergedClassNames = {\n ...(providedClassNames ?? {}),\n popup: {\n ...((providedClassNames as any)?.popup ?? {}),\n root: mergedPopupRootClassName,\n },\n } as DSRangePickerProps['classNames'];\n\n const resolvedFormat = props.format ?? DS_DATE_FORMAT;\n const resolvedPlaceholder = props.placeholder ?? [DS_DATE_FORMAT, DS_DATE_FORMAT];\n\n return (\n <AntDatePicker.RangePicker\n {...props}\n format={resolvedFormat}\n placeholder={resolvedPlaceholder}\n className={mergedClassName}\n classNames={mergedClassNames}\n />\n );\n};\n\nDSRangePicker.displayName = 'DatePicker.RangePicker';\n\n// Forward DS-wrapped sub-component so callers can do const { RangePicker } = DSDatePicker\n(DatePicker as typeof DatePicker & { RangePicker: typeof DSRangePicker }).RangePicker = DSRangePicker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DatePicker-CQgt-WoB.cjs","names":[],"sources":["../src/ds/forms/datePickerStyles.ts","../src/ds/forms/DatePicker.tsx"],"sourcesContent":["import { dsSemanticTokens } from '../../theme/ontadaTheme';\nimport { CORE_COLORS } from '../../tokens/core';\n\nconst STYLE_ID = 'ds-date-picker-styles';\n\nexport const DS_PICKER_CLASS = 'ds-date-picker';\nexport const DS_PICKER_PANEL_CLASS = 'ds-date-picker-panel';\n\nexport const mergePickerClassNames = (...classNames: Array<string | undefined>): string =>\n classNames.filter(Boolean).join(' ').trim();\n\nexport const ensureDatePickerStyles = () => {\n if (typeof document === 'undefined') {\n return;\n }\n\n const { button, input } = dsSemanticTokens;\n let style = document.getElementById(STYLE_ID) as HTMLStyleElement | null;\n if (!style) {\n style = document.createElement('style');\n style.id = STYLE_ID;\n document.head.appendChild(style);\n }\n\n style.textContent = `\n\n /* ── Trigger: base ───────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker {\n border-color: ${input.border.default} !important;\n border-width: ${input.border.widthDefault} !important;\n border-style: solid !important;\n border-radius: ${input.border.radius} !important;\n background-color: ${input.background.default} !important;\n box-shadow: none !important;\n min-height: ${input.height.middle} !important;\n height: ${input.height.middle} !important;\n padding: 0 ${input.padding.middle.x} !important;\n display: inline-flex !important;\n align-items: center !important;\n width: 100% !important;\n transition: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker:has(.ant-picker-input > input[readonly]:not(:disabled)) {\n background-color: ${input.background.readOnly} !important;\n border-color: ${input.border.default} !important;\n box-shadow: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined {\n border-color: ${input.border.default} !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: sizes ──────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-small {\n min-height: ${input.height.small} !important;\n height: ${input.height.small} !important;\n padding: 0 ${input.padding.small.x} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-large {\n min-height: ${input.height.large} !important;\n height: ${input.height.large} !important;\n padding: 0 ${input.padding.large.x} !important;\n }\n\n /* ── Trigger: hover ──────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker:not(.ant-picker-disabled):hover,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined:not(.ant-picker-disabled):hover {\n border-color: ${input.border.hover} !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: focus / open ───────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-focused {\n border-color: ${input.border.focus} !important;\n border-width: ${input.border.widthFocus} !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused:hover,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-focused:hover {\n border-color: ${input.border.focus} !important;\n border-width: ${input.border.widthFocus} !important;\n box-shadow: none !important;\n outline: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker:focus-within,\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input:focus,\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input:focus-visible {\n outline: none !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: status ─────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-status-error {\n border-color: ${input.border.error} !important;\n box-shadow: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-warning,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-status-warning {\n border-color: ${CORE_COLORS.status.warning} !important;\n box-shadow: none !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-success,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-outlined.ant-picker-status-success {\n border-color: ${input.border.success} !important;\n box-shadow: none !important;\n }\n\n /* ── Trigger: disabled ───────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled {\n background-color: ${input.background.disabled} !important;\n border-color: transparent !important;\n box-shadow: none !important;\n }\n\n /* ── Input text ──────────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input {\n font-size: 14px !important;\n line-height: 18px !important;\n font-weight: 400 !important;\n color: ${CORE_COLORS.text.strong} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input::placeholder {\n color: ${input.text.placeholder} !important;\n font-weight: 400 !important;\n opacity: 1 !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused .ant-picker-input > input {\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: ${input.focusFontWeight} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error .ant-picker-input > input {\n color: ${input.border.error} !important;\n font-weight: ${input.focusFontWeight} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled .ant-picker-input > input {\n color: ${input.text.disabled} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-input > input[readonly]:not(:disabled) {\n color: ${input.text.readOnly} !important;\n font-weight: 400 !important;\n }\n\n /* ── Suffix icon ─────────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-suffix .anticon {\n color: ${input.border.default} !important;\n font-size: 14px !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-focused .ant-picker-suffix .anticon {\n color: ${input.border.default} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-status-error .ant-picker-suffix .anticon {\n color: ${input.border.default} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled .ant-picker-suffix,\n .${DS_PICKER_CLASS}.ant-picker.ant-picker-disabled .ant-picker-suffix .anticon {\n color: ${input.text.disabled} !important;\n }\n\n /* ── Clear button ────────────────────────────────── */\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-clear {\n color: ${input.text.default} !important;\n background: ${input.background.default} !important;\n }\n\n .${DS_PICKER_CLASS}.ant-picker .ant-picker-clear:hover {\n color: ${input.text.focus} !important;\n }\n\n /* ── Calendar panel container ────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-panel-container {\n border: 1px solid ${input.text.focus} !important;\n border-radius: 4px !important;\n background: ${input.background.default} !important;\n box-shadow: 0 2px 4px color-mix(in srgb, ${CORE_COLORS.text.primary} 30%, transparent) !important;\n overflow: hidden !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-panel {\n border: 0 !important;\n border-radius: 0 !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-date-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel {\n width: 300px !important;\n padding: 16px !important;\n }\n\n /* ── Panel header ────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header {\n border-bottom: 0 !important;\n padding: 0 0 8px !important;\n color: ${input.text.focus} !important;\n display: flex !important;\n align-items: center !important;\n justify-content: flex-start !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header button {\n color: ${input.text.focus} !important;\n font-size: 14px !important;\n line-height: 18px !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n padding: 0 !important;\n margin: 0 !important;\n border: 0 !important;\n background: transparent !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header button:hover {\n color: ${input.border.focus} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view {\n font-size: 16px !important;\n font-weight: 600 !important;\n line-height: 20px !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n color: ${button.primary.default} !important;\n display: inline-flex !important;\n align-items: center !important;\n gap: 2px !important;\n order: 1 !important;\n margin-right: auto !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view *,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button *,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button span {\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button {\n color: ${button.primary.default} !important;\n font-size: 16px !important;\n font-weight: 600 !important;\n line-height: 20px !important;\n letter-spacing: ${button.typography.middle.letterSpacing} !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n cursor: pointer !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button:hover {\n color: ${button.primary.hover} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button:active,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-view button:focus-visible {\n color: ${button.primary.pressed} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-super-prev-btn,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-super-next-btn {\n display: none !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-btn,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-btn {\n width: 14px !important;\n height: 14px !important;\n min-width: 14px !important;\n min-height: 14px !important;\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n color: ${input.text.focus} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-btn,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-btn {\n margin-left: 16px !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-btn {\n order: 2 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-btn {\n order: 3 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-prev-icon,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-header-next-icon {\n width: 14px !important;\n height: 14px !important;\n font-size: 14px !important;\n }\n\n /* ── Day-of-week header row ──────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-content th {\n color: ${input.border.default} !important;\n font-size: 12px !important;\n font-weight: 600 !important;\n font-family: 'Nunito', 'Segoe UI', Roboto, sans-serif !important;\n text-transform: uppercase !important;\n letter-spacing: 0.48px !important;\n padding: 0 0 8px !important;\n }\n\n /* ── Day cells ───────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-body {\n padding: 0 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell {\n color: ${CORE_COLORS.text.strong} !important;\n padding: 2px 0 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-in-view {\n color: ${CORE_COLORS.text.strong} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-content tr {\n display: table-row !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-content td {\n display: table-cell !important;\n visibility: visible !important;\n opacity: 1 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell .ant-picker-cell-inner {\n font-size: 12px !important;\n font-weight: 400 !important;\n line-height: 16px !important;\n min-width: 28px !important;\n height: 28px !important;\n border-radius: 50% !important;\n display: inline-flex !important;\n align-items: center !important;\n justify-content: center !important;\n }\n\n /* ── Cell: hover ─────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown\n .ant-picker-cell:not(.ant-picker-cell-selected):not(.ant-picker-cell-disabled):not(.ant-picker-cell-in-range):not(.ant-picker-cell-range-start):not(.ant-picker-cell-range-end):not(.ant-picker-cell-range-hover-start):not(.ant-picker-cell-range-hover-end):not(.ant-picker-cell-range-hover):hover\n .ant-picker-cell-inner {\n background: ${CORE_COLORS.semantic.infoBg} !important;\n color: ${input.text.focus} !important;\n }\n\n /* ── Cell: today ─────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner {\n font-weight: 400 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-today .ant-picker-cell-inner::before {\n border: 1px solid ${CORE_COLORS.text.strong} !important;\n border-radius: 50% !important;\n }\n\n /* ── Cell: selected ──────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 50% !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-selected .ant-picker-cell-inner::before {\n border: 0 !important;\n }\n\n /* ── Month / year panel cell selected ────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell-selected .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 16px !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell .ant-picker-cell-inner {\n font-size: 14px !important;\n line-height: 18px !important;\n font-weight: 400 !important;\n border-radius: 16px !important;\n min-width: 56px !important;\n height: 28px !important;\n padding: 0 8px !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-month-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-year-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-quarter-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-decade-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-range-hover::before {\n background: transparent !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell:hover::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-in-view.ant-picker-cell-in-range::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-in-view.ant-picker-cell-range-hover::before {\n background: transparent !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 50% !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n background-color: ${CORE_COLORS.accent.highlightSoft} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected .ant-picker-cell-inner::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-week-panel .ant-picker-cell-selected:hover .ant-picker-cell-inner::before {\n border: 0 !important;\n background: transparent !important;\n }\n\n /* ── Footer ──────────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-footer {\n display: none !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-today-btn {\n color: ${input.border.focus} !important;\n font-size: 14px !important;\n font-weight: 400 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-today-btn:hover {\n color: ${CORE_COLORS.brand.primaryHover} !important;\n }\n\n /* ── Range picker ────────────────────────────────── */\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-in-range .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightBg} !important;\n color: ${CORE_COLORS.text.strong} !important;\n border-radius: 0 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-in-range::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start::before,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end::before {\n background: ${CORE_COLORS.accent.highlightBg} !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n border-radius: 50% !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end:hover .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-start.ant-picker-cell-range-hover-start .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-end.ant-picker-cell-range-hover-end .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightSoft} !important;\n border: 2px solid ${CORE_COLORS.accent.highlight} !important;\n color: ${CORE_COLORS.text.strong} !important;\n font-weight: 700 !important;\n }\n\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-hover-start .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-hover-end .ant-picker-cell-inner,\n .${DS_PICKER_PANEL_CLASS}.ant-picker-dropdown .ant-picker-cell-range-hover .ant-picker-cell-inner {\n background: ${CORE_COLORS.accent.highlightBg} !important;\n }\n\n `;\n\n};\n","import { DatePicker as AntDatePicker } from 'antd';\nimport type { DatePickerProps } from 'antd';\nimport { useEffect, useId } from 'react';\nimport type { ChangeEvent, ComponentProps, InputHTMLAttributes, KeyboardEvent } from 'react';\nimport { FieldShell } from './FieldShell';\nimport type { DSFieldShellProps } from './fieldProps';\nimport { joinDescribedByIds } from './fieldProps';\nimport {\n DS_PICKER_CLASS,\n DS_PICKER_PANEL_CLASS,\n ensureDatePickerStyles,\n mergePickerClassNames,\n} from './datePickerStyles';\n\nexport type DSDateSeparator = '/' | '-';\n\nexport type DSDatePickerProps = DatePickerProps & DSFieldShellProps & {\n onValueChange?: (value: any) => void;\n /** Enable numeric-only input with auto-inserted date separator. Only applies to single date picker. Default: true. */\n dsMaskEnabled?: boolean;\n /** Separator character inserted between MM, DD, and YYYY segments. Also sets the resolved format. Default: '-'. */\n dsMaskSeparator?: DSDateSeparator;\n};\nexport const DS_DATE_FORMAT = 'MM-DD-YYYY';\n\n// ── Input masking helpers ───────────────────────────────────────────────────\n\nfunction applyDateMask(raw: string, sep: DSDateSeparator): string {\n const digits = raw.replace(/\\D/g, '').slice(0, 8);\n if (digits.length <= 2) return digits;\n if (digits.length <= 4) return `${digits.slice(0, 2)}${sep}${digits.slice(2)}`;\n return `${digits.slice(0, 2)}${sep}${digits.slice(2, 4)}${sep}${digits.slice(4)}`;\n}\n\nconst MASK_CONTROL_KEYS = new Set([\n 'Backspace', 'Delete', 'Tab', 'Enter', 'Escape',\n 'ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown',\n 'Home', 'End',\n]);\n\nfunction makeMaskedDateInput(sep: DSDateSeparator) {\n function MaskedDateInput({ onKeyDown, onChange, ...rest }: InputHTMLAttributes<HTMLInputElement>) {\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (!MASK_CONTROL_KEYS.has(e.key) && !/^\\d$/.test(e.key) && !e.ctrlKey && !e.metaKey) {\n e.preventDefault();\n }\n onKeyDown?.(e);\n };\n\n const handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n const { value, selectionStart } = e.target;\n const isAppending = selectionStart == null || selectionStart === value.length;\n if (!isAppending) {\n onChange?.(e);\n return;\n }\n const masked = applyDateMask(value, sep);\n if (masked === value) {\n onChange?.(e);\n return;\n }\n // Provide a patched event so Ant reads the masked value from e.target.value\n const patchedEvent = Object.create(e) as ChangeEvent<HTMLInputElement>;\n Object.defineProperty(patchedEvent, 'target', {\n configurable: true,\n get: () => ({ ...e.target, value: masked }),\n });\n onChange?.(patchedEvent);\n };\n\n return <input {...rest} onKeyDown={handleKeyDown} onChange={handleChange} />;\n }\n MaskedDateInput.displayName = `MaskedDateInput(${sep})`;\n return MaskedDateInput;\n}\n\n// Stable module-level references – prevents component identity changes across renders\nconst MASKED_INPUT_DASH = makeMaskedDateInput('-');\nconst MASKED_INPUT_SLASH = makeMaskedDateInput('/');\n\ntype DSRangePickerProps = ComponentProps<typeof AntDatePicker.RangePicker>;\n\nexport const DatePicker = ({\n className: providedClassName,\n popupClassName: providedPopupClassName,\n classNames: providedClassNames,\n fieldLabel,\n fieldRequired,\n fieldDescription,\n fieldError,\n fieldActions,\n containerStyle,\n clear,\n clearable = false,\n clearLabel,\n clearVisibility = 'always',\n onClear,\n onValueChange,\n dsMaskEnabled = true,\n dsMaskSeparator = '-',\n id,\n ...props\n}: DSDatePickerProps) => {\n const generatedId = useId();\n useEffect(() => {\n ensureDatePickerStyles();\n }, []);\n\n const shouldWrapInFieldShell = Boolean(\n fieldLabel ||\n fieldRequired ||\n fieldDescription ||\n fieldError ||\n fieldActions ||\n clearable ||\n clear ||\n onClear,\n );\n const controlId = id ?? (shouldWrapInFieldShell ? generatedId : undefined);\n const descriptionId = controlId ? `${controlId}-description` : undefined;\n const errorId = controlId ? `${controlId}-error` : undefined;\n const clearAction = clear?.onClear ?? onClear;\n\n const mergedClassName = mergePickerClassNames(DS_PICKER_CLASS, providedClassName);\n const mergedPopupRootClassName = mergePickerClassNames(\n DS_PICKER_PANEL_CLASS,\n (providedClassNames as any)?.popup?.root,\n providedPopupClassName,\n );\n\n const mergedClassNames = {\n ...(providedClassNames ?? {}),\n popup: {\n ...((providedClassNames as any)?.popup ?? {}),\n root: mergedPopupRootClassName,\n },\n } as DatePickerProps['classNames'];\n\n const isSingleDatePicker = !props.picker || props.picker === 'date';\n const shouldMask = dsMaskEnabled && isSingleDatePicker && !props.multiple && !props.inputReadOnly;\n const resolvedSep = dsMaskSeparator;\n const resolvedFormat = props.format ?? `MM${resolvedSep}DD${resolvedSep}YYYY`;\n const resolvedPlaceholder = props.placeholder ?? `MM${resolvedSep}DD${resolvedSep}YYYY`;\n const maskedInput = shouldMask ? (resolvedSep === '/' ? MASKED_INPUT_SLASH : MASKED_INPUT_DASH) : undefined;\n // Only inject masked input when the caller has not supplied their own input override\n const resolvedComponents = maskedInput && !(props.components as any)?.input\n ? { ...props.components, input: maskedInput }\n : props.components;\n const describedBy = joinDescribedByIds(\n fieldDescription ? descriptionId : undefined,\n fieldError ? errorId : undefined,\n );\n\n const control = (\n <AntDatePicker\n {...props}\n id={controlId}\n format={resolvedFormat}\n placeholder={resolvedPlaceholder}\n className={mergedClassName}\n classNames={mergedClassNames}\n components={resolvedComponents}\n status={fieldError ? 'error' : props.status}\n aria-describedby={describedBy}\n aria-invalid={fieldError ? true : undefined}\n onChange={(date, dateString) => {\n props.onChange?.(date, dateString);\n onValueChange?.(date);\n }}\n />\n );\n\n if (!shouldWrapInFieldShell) {\n return control;\n }\n\n return (\n <FieldShell\n label={fieldLabel}\n required={fieldRequired}\n htmlFor={controlId}\n description={fieldDescription}\n descriptionId={descriptionId}\n error={fieldError}\n errorId={errorId}\n clear={clear}\n clearable={clearable}\n clearLabel={clearLabel}\n clearVisibility={clearVisibility}\n clearValue={props.value}\n onClear={() => {\n clearAction?.();\n onValueChange?.(null);\n props.onChange?.(null, '');\n }}\n extraActions={fieldActions}\n style={containerStyle}\n >\n {control}\n </FieldShell>\n );\n};\n\nDatePicker.displayName = 'DatePicker';\n\nconst DSRangePicker = ({\n className: providedClassName,\n popupClassName: providedPopupClassName,\n classNames: providedClassNames,\n ...props\n}: DSRangePickerProps) => {\n useEffect(() => {\n ensureDatePickerStyles();\n }, []);\n\n const mergedClassName = mergePickerClassNames(DS_PICKER_CLASS, providedClassName);\n const mergedPopupRootClassName = mergePickerClassNames(\n DS_PICKER_PANEL_CLASS,\n (providedClassNames as any)?.popup?.root,\n providedPopupClassName,\n );\n\n const mergedClassNames = {\n ...(providedClassNames ?? {}),\n popup: {\n ...((providedClassNames as any)?.popup ?? {}),\n root: mergedPopupRootClassName,\n },\n } as DSRangePickerProps['classNames'];\n\n const resolvedFormat = props.format ?? DS_DATE_FORMAT;\n const resolvedPlaceholder = props.placeholder ?? [DS_DATE_FORMAT, DS_DATE_FORMAT];\n\n return (\n <AntDatePicker.RangePicker\n {...props}\n format={resolvedFormat}\n placeholder={resolvedPlaceholder}\n className={mergedClassName}\n classNames={mergedClassNames}\n />\n );\n};\n\nDSRangePicker.displayName = 'DatePicker.RangePicker';\n\n// Forward DS-wrapped sub-component so callers can do const { RangePicker } = DSDatePicker\n(DatePicker as typeof DatePicker & { RangePicker: typeof DSRangePicker }).RangePicker = DSRangePicker;\n"],"mappings":"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"}
@@ -526,54 +526,108 @@ var c = "ds-date-picker-styles", l = "ds-date-picker", u = "ds-date-picker-panel
526
526
  }
527
527
 
528
528
  `;
529
- }, p = "MM-DD-YYYY", m = ({ className: e, popupClassName: t, classNames: c, fieldLabel: p, fieldRequired: m, fieldDescription: h, fieldError: g, fieldActions: _, containerStyle: v, clear: y, clearable: b = !1, clearLabel: x, clearVisibility: S = "always", onClear: C, onValueChange: w, id: T, ...E }) => {
530
- let D = o();
529
+ }, p = "MM-DD-YYYY";
530
+ function m(e, t) {
531
+ let n = e.replace(/\D/g, "").slice(0, 8);
532
+ return n.length <= 2 ? n : n.length <= 4 ? `${n.slice(0, 2)}${t}${n.slice(2)}` : `${n.slice(0, 2)}${t}${n.slice(2, 4)}${t}${n.slice(4)}`;
533
+ }
534
+ var h = new Set([
535
+ "Backspace",
536
+ "Delete",
537
+ "Tab",
538
+ "Enter",
539
+ "Escape",
540
+ "ArrowLeft",
541
+ "ArrowRight",
542
+ "ArrowUp",
543
+ "ArrowDown",
544
+ "Home",
545
+ "End"
546
+ ]);
547
+ function g(e) {
548
+ function t({ onKeyDown: t, onChange: n, ...r }) {
549
+ let i = (e) => {
550
+ !h.has(e.key) && !/^\d$/.test(e.key) && !e.ctrlKey && !e.metaKey && e.preventDefault(), t?.(e);
551
+ }, a = (t) => {
552
+ let { value: r, selectionStart: i } = t.target;
553
+ if (!(i == null || i === r.length)) {
554
+ n?.(t);
555
+ return;
556
+ }
557
+ let a = m(r, e);
558
+ if (a === r) {
559
+ n?.(t);
560
+ return;
561
+ }
562
+ let o = Object.create(t);
563
+ Object.defineProperty(o, "target", {
564
+ configurable: !0,
565
+ get: () => ({
566
+ ...t.target,
567
+ value: a
568
+ })
569
+ }), n?.(o);
570
+ };
571
+ return /* @__PURE__ */ s("input", {
572
+ ...r,
573
+ onKeyDown: i,
574
+ onChange: a
575
+ });
576
+ }
577
+ return t.displayName = `MaskedDateInput(${e})`, t;
578
+ }
579
+ var _ = g("-"), v = g("/"), y = ({ className: e, popupClassName: t, classNames: c, fieldLabel: p, fieldRequired: m, fieldDescription: h, fieldError: g, fieldActions: y, containerStyle: b, clear: x, clearable: S = !1, clearLabel: C, clearVisibility: w = "always", onClear: T, onValueChange: E, dsMaskEnabled: D = !0, dsMaskSeparator: O = "-", id: k, ...A }) => {
580
+ let j = o();
531
581
  a(() => {
532
582
  f();
533
583
  }, []);
534
- let O = !!(p || m || h || g || _ || b || y || C), k = T ?? (O ? D : void 0), A = k ? `${k}-description` : void 0, j = k ? `${k}-error` : void 0, M = y?.onClear ?? C, N = d(l, e), P = d(u, c?.popup?.root, t), F = {
584
+ let M = !!(p || m || h || g || y || S || x || T), N = k ?? (M ? j : void 0), P = N ? `${N}-description` : void 0, F = N ? `${N}-error` : void 0, I = x?.onClear ?? T, L = d(l, e), R = d(u, c?.popup?.root, t), z = {
535
585
  ...c ?? {},
536
586
  popup: {
537
587
  ...c?.popup ?? {},
538
- root: P
588
+ root: R
539
589
  }
540
- }, I = E.format ?? "MM-DD-YYYY", L = E.placeholder ?? "MM-DD-YYYY", R = r(h ? A : void 0, g ? j : void 0), z = /* @__PURE__ */ s(i, {
541
- ...E,
542
- id: k,
543
- format: I,
544
- placeholder: L,
545
- className: N,
546
- classNames: F,
547
- status: g ? "error" : E.status,
548
- "aria-describedby": R,
590
+ }, B = !A.picker || A.picker === "date", V = D && B && !A.multiple && !A.inputReadOnly, H = O, U = A.format ?? `MM${H}DD${H}YYYY`, W = A.placeholder ?? `MM${H}DD${H}YYYY`, G = V ? H === "/" ? v : _ : void 0, K = G && !A.components?.input ? {
591
+ ...A.components,
592
+ input: G
593
+ } : A.components, q = r(h ? P : void 0, g ? F : void 0), J = /* @__PURE__ */ s(i, {
594
+ ...A,
595
+ id: N,
596
+ format: U,
597
+ placeholder: W,
598
+ className: L,
599
+ classNames: z,
600
+ components: K,
601
+ status: g ? "error" : A.status,
602
+ "aria-describedby": q,
549
603
  "aria-invalid": g ? !0 : void 0,
550
604
  onChange: (e, t) => {
551
- E.onChange?.(e, t), w?.(e);
605
+ A.onChange?.(e, t), E?.(e);
552
606
  }
553
607
  });
554
- return O ? /* @__PURE__ */ s(n, {
608
+ return M ? /* @__PURE__ */ s(n, {
555
609
  label: p,
556
610
  required: m,
557
- htmlFor: k,
611
+ htmlFor: N,
558
612
  description: h,
559
- descriptionId: A,
613
+ descriptionId: P,
560
614
  error: g,
561
- errorId: j,
562
- clear: y,
563
- clearable: b,
564
- clearLabel: x,
565
- clearVisibility: S,
566
- clearValue: E.value,
615
+ errorId: F,
616
+ clear: x,
617
+ clearable: S,
618
+ clearLabel: C,
619
+ clearVisibility: w,
620
+ clearValue: A.value,
567
621
  onClear: () => {
568
- M?.(), w?.(null), E.onChange?.(null, "");
622
+ I?.(), E?.(null), A.onChange?.(null, "");
569
623
  },
570
- extraActions: _,
571
- style: v,
572
- children: z
573
- }) : z;
624
+ extraActions: y,
625
+ style: b,
626
+ children: J
627
+ }) : J;
574
628
  };
575
- m.displayName = "DatePicker";
576
- var h = ({ className: e, popupClassName: t, classNames: n, ...r }) => {
629
+ y.displayName = "DatePicker";
630
+ var b = ({ className: e, popupClassName: t, classNames: n, ...r }) => {
577
631
  a(() => {
578
632
  f();
579
633
  }, []);
@@ -592,8 +646,8 @@ var h = ({ className: e, popupClassName: t, classNames: n, ...r }) => {
592
646
  classNames: p
593
647
  });
594
648
  };
595
- h.displayName = "DatePicker.RangePicker", m.RangePicker = h;
649
+ b.displayName = "DatePicker.RangePicker", y.RangePicker = b;
596
650
  //#endregion
597
- export { m as n, p as t };
651
+ export { y as n, p as t };
598
652
 
599
- //# sourceMappingURL=DatePicker-BpjYibJF.js.map
653
+ //# sourceMappingURL=DatePicker-LXjOxVN5.js.map