@epam/ai-dial-ui-kit 0.3.0-rc.4 → 0.3.0-rc.40

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 (56) hide show
  1. package/dist/dial-ui-kit.cjs.js +2 -1
  2. package/dist/dial-ui-kit.es.js +7452 -1211
  3. package/dist/index.css +2 -2
  4. package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +41 -0
  5. package/dist/src/components/Breadcrumb/BreadcrumbItem.d.ts +13 -0
  6. package/dist/src/components/Breadcrumb/constants.d.ts +9 -0
  7. package/dist/src/components/Checkbox/Checkbox.d.ts +3 -1
  8. package/dist/src/components/ConfirmationPopup/ConfirmationPopup.d.ts +2 -2
  9. package/dist/src/components/ConfirmationPopup/constants.d.ts +1 -0
  10. package/dist/src/components/DraggableItem/DraggableItem.d.ts +31 -0
  11. package/dist/src/components/DraggableItem/constants.d.ts +3 -0
  12. package/dist/src/components/Dropdown/Dropdown.d.ts +4 -0
  13. package/dist/src/components/EllipsisTooltip/EllipsisTooltip.d.ts +31 -0
  14. package/dist/src/components/EllipsisTooltip/constants.d.ts +1 -0
  15. package/dist/src/components/Field/Field.d.ts +4 -2
  16. package/dist/src/components/FileIcon/FileIcon.d.ts +31 -0
  17. package/dist/src/components/FileIcon/constants.d.ts +9 -0
  18. package/dist/src/components/FormItem/FormItem.d.ts +75 -0
  19. package/dist/src/components/FormItem/constants.d.ts +3 -0
  20. package/dist/src/components/FormPopup/FormPopup.d.ts +44 -0
  21. package/dist/src/components/FormPopup/constants.d.ts +3 -0
  22. package/dist/src/components/Icon/Icon.d.ts +1 -0
  23. package/dist/src/components/Input/Input.d.ts +6 -1
  24. package/dist/src/components/InputField/InputField.d.ts +1 -1
  25. package/dist/src/components/InputPopup/InputPopup.d.ts +3 -3
  26. package/dist/src/components/JsonEditor/JsonEditor.d.ts +2 -2
  27. package/dist/src/components/LoadFileArea/EmptyFileArea.d.ts +52 -0
  28. package/dist/src/components/LoadFileArea/FilledInput.d.ts +30 -0
  29. package/dist/src/components/LoadFileArea/LoadFileArea.d.ts +46 -0
  30. package/dist/src/components/LoadFileArea/LoadFileAreaField.d.ts +51 -0
  31. package/dist/src/components/RadioGroup/RadioGroup.d.ts +0 -1
  32. package/dist/src/components/RadioGroupPopupField/RadioGroupPopupField.d.ts +2 -1
  33. package/dist/src/components/RemoveButton/RemoveButton.d.ts +24 -0
  34. package/dist/src/components/Select/MultiSelectTags.d.ts +8 -0
  35. package/dist/src/components/Select/Select.d.ts +61 -0
  36. package/dist/src/components/Select/constants.d.ts +8 -0
  37. package/dist/src/components/SelectField/SelectField.d.ts +35 -0
  38. package/dist/src/components/SharedEntityIndicator/SharedEntityIndicator.d.ts +25 -0
  39. package/dist/src/components/Tab/Tab.d.ts +35 -0
  40. package/dist/src/components/Tabs/Tabs.d.ts +46 -0
  41. package/dist/src/components/Tabs/constants.d.ts +1 -0
  42. package/dist/src/components/Tag/Tag.d.ts +6 -2
  43. package/dist/src/components/TextAreaField/TextAreaField.d.ts +4 -2
  44. package/dist/src/components/Textarea/Textarea.d.ts +4 -0
  45. package/dist/src/components/Tooltip/TooltipContext.d.ts +4 -4
  46. package/dist/src/hooks/use-is-tablet-screen.d.ts +15 -0
  47. package/dist/src/index.d.ts +22 -0
  48. package/dist/src/models/breadcrumb.d.ts +9 -0
  49. package/dist/src/models/field-control-props.d.ts +1 -0
  50. package/dist/src/models/select.d.ts +7 -0
  51. package/dist/src/models/tab.d.ts +4 -0
  52. package/dist/src/types/form-item.d.ts +4 -0
  53. package/dist/src/types/tab.d.ts +4 -0
  54. package/dist/src/utils/merge-classes.d.ts +3 -0
  55. package/dist/src/utils/mobile.d.ts +14 -0
  56. package/package.json +8 -3
package/dist/index.css CHANGED
@@ -1,2 +1,2 @@
1
- .dial-h1{font-weight:600}.dial-h1,.dial-h2{font-size:20px;line-height:24px}.dial-h2{font-weight:400}.dial-h3{font-weight:600;line-height:18px}.dial-body,.dial-h3{font-size:16px}.dial-body{font-weight:400;line-height:28px}.dial-small{font-weight:400}.dial-small,.dial-small-semi{font-size:14px;line-height:16px}.dial-small-semi{font-weight:600}.dial-small-medium{font-weight:400;font-size:14px;line-height:16px}.dial-small-150{font-weight:400;font-size:14px;line-height:21px}.dial-tiny{line-height:14px}.dial-tiny,.dial-tiny-150{font-weight:400;font-size:12px}.dial-tiny-150{line-height:18px}.dial-caption{font-weight:400;font-size:10px;line-height:12px}h1{font-weight:600}h1,h2{font-size:20px;line-height:24px}h2{font-weight:400}h3{font-weight:600;font-size:16px;line-height:18px}.dial-base-button{display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px}.dial-base-button-disable{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}.dial-primary-button{background-color:var(--controls-bg-accent,#5c8dea);color:var(--controls-primary,#fcfcfc);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;&:focus,&:hover{background-color:var(--controls-bg-accent-hover,#4878d2)}&:focus{border-color:var(--stroke-hover,#f3f4f6)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-secondary-button{background-color:transparent;color:var(--text-primary,#f3f4f6);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;border-color:var(--stroke-primary,#333942);&:focus,&:hover{background-color:var(--bg-layer-4,#333942)}&:focus{border-color:var(--stroke-hover,#f3f4f6)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-tertiary-button{background-color:transparent;color:var(--text-accent-primary,#5c8dea);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;&:focus,&:hover{background-color:var(--controls-bg-accent-alpha,#5c8dea2b)}&:active,&:focus{border-color:var(--stroke-accent-primary,#5c8dea)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-danger-button{background-color:var(--bg-red-400,#f76464);color:var(--text-primary,#f3f4f6);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;&:focus,&:hover{background-color:var(--bg-red-800,#ae2f2f)}&:focus{border-color:var(--stroke-hover,#f3f4f6)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-input{border-radius:3px;border-width:1px;border-style:solid;border-color:var(--stroke-primary,#333942);&:hover{border-color:var(--stroke-hover,#f3f4f6)}&:focus,&:focus-within{border-color:var(--stroke-accent-primary,#5c8dea)}}.dial-input,.dial-input-no-border{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:transparent;font-weight:400;font-size:14px;line-height:16px;width:100%;outline-width:0;&:not(:-moz-placeholder){color:var(--text-primary,#f3f4f6)}&:not(:placeholder-shown){color:var(--text-primary,#f3f4f6)}&:disabled{background-color:var(--bg-layer-3,#222932)}&:disabled:not(:-moz-placeholder){color:var(--text-secondary,#7f8792)}&:disabled,&:disabled:not(:placeholder-shown){color:var(--text-secondary,#7f8792)}}.dial-input-disable,.dial-input-readonly{background-color:var(--bg-layer-3,#222932)}.dial-input-disable:not(:-moz-placeholder){color:var(--text-secondary,#7f8792)}.dial-input-disable,.dial-input-disable:not(:placeholder-shown){color:var(--text-secondary,#7f8792)}.dial-input-error{border-color:var(--stroke-error,#f76464)}.dial-input-field{height:38px}input{-moz-appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}&:focus{outline:none}}.dial-textarea{min-height:72px;resize:both;overflow:auto;white-space:normal}.dial-input-radio{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;padding:0;height:18px;width:18px;border-color:var(--stroke-hover,#f3f4f6);background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:currentColor;font:inherit;&:checked{border-color:var(--stroke-accent-primary,#5c8dea)}&:checked{&:after{height:10px;width:10px;background-color:var(--bg-accent-primary,#5c8dea);content:"";border-radius:18px}}&:focus,&:hover{border-width:1px;border-color:var(--stroke-accent-primary,#5c8dea);background-color:transparent}&:disabled{pointer-events:none}&:disabled{&:checked{border-color:var(--stroke-primary,#333942)}&:checked{&:after{background-color:var(--controls-bg-disable,#7f8792)}}}}div .dial-sm-popup{max-width:100%}@media (min-width:768px){div .dial-sm-popup{max-width:400px}}div .dial-md-popup{max-width:100%}@media (min-width:768px){div .dial-md-popup{max-width:800px}}div .dial-lg-popup{max-width:100%}@media (min-width:768px){div .dial-lg-popup{max-width:1200px}}div .dial-popup{position:relative;display:flex;height:100%;max-height:100%;width:100%;flex-direction:column;border-radius:3px;background-color:var(--bg-layer-3,#222932);--tw-shadow:0 0 4px 0 var(--bg-blackout,#090d13b3);--tw-shadow-colored:0 0 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:768px){div .dial-popup{height:auto}}@layer ui{*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
2
- /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}::-webkit-scrollbar-corner,::-webkit-scrollbar-track,::-webkit-scrollbar-track:hover,:not(:hover)::-webkit-scrollbar-thumb{background-color:transparent}::-webkit-scrollbar-thumb{cursor:pointer;border-radius:3px;background-color:var(--bg-layer-4,#333942)}::-webkit-scrollbar{height:4px;width:4px}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover{scrollbar-color:var(--bg-layer-4,#333942) transparent}.divide-y>:empty~:not([hidden]){border-top:none;border-bottom:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.relative{position:relative}.z-\[52\]{z-index:52}.z-\[53\]{z-index:53}.z-\[55\]{z-index:55}.my-1{margin-top:.25rem}.mb-1,.my-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-\[26px\]{margin-left:26px}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.h-0{height:0}.h-\[10px\]{height:10px}.h-\[120px\]{height:120px}.h-\[18px\]{height:18px}.h-\[22px\]{height:22px}.h-\[250px\]{height:250px}.h-\[300px\]{height:300px}.h-\[32px\]{height:32px}.h-\[34px\]{height:34px}.h-\[38px\]{height:38px}.h-\[4px\]{height:4px}.h-auto{height:auto}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-4{min-height:1rem}.min-h-\[220px\]{min-height:220px}.min-h-\[38px\]{min-height:38px}.min-h-\[72px\]{min-height:72px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-2{width:.5rem}.w-72{width:18rem}.w-80{width:20rem}.w-\[10px\]{width:10px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[250px\]{width:250px}.w-\[320px\]{width:320px}.w-\[360px\]{width:360px}.w-\[36px\]{width:36px}.w-\[400px\]{width:400px}.w-\[450px\]{width:450px}.w-\[4px\]{width:4px}.w-\[500px\]{width:500px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[180px\]{min-width:180px}.min-w-\[400px\]{min-width:400px}.min-w-\[600px\]{min-width:600px}.min-w-\[800px\]{min-width:800px}.max-w-80{max-width:20rem}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.basis-auto{flex-basis:auto}.border-collapse{border-collapse:collapse}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin-steps{animation:spin .75s steps(8) infinite}.\!cursor-not-allowed{cursor:not-allowed!important}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[minmax\(0\2c 100px\)_1fr\]{grid-template-columns:minmax(0,100px) 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-\[160px\]{-moz-column-gap:160px;column-gap:160px}.gap-y-1{row-gap:.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-3{row-gap:.75rem}.gap-y-6{row-gap:1.5rem}.gap-y-\[80px\]{row-gap:80px}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-tertiary>:not([hidden])~:not([hidden]){border-color:var(--stroke-tertiary,#090d13)}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:3px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-accent-primary{border-color:var(--stroke-accent-primary,#5c8dea)}.border-accent-secondary{border-color:var(--stroke-accent-secondary,#37babc)}.border-error{border-color:var(--stroke-error,#f76464)}.border-hover{border-color:var(--stroke-hover,#f3f4f6)}.border-icon-secondary{border-color:var(--icon-secondary,#7f8792)}.border-primary{border-color:var(--stroke-primary,#333942)}.border-red-900{border-color:var(--red-900,#402027)}.border-tertiary{border-color:var(--stroke-tertiary,#090d13)}.\!bg-accent-secondary{background-color:var(--bg-accent-secondary,#37babc)!important}.bg-accent-primary{background-color:var(--bg-accent-primary,#5c8dea)}.bg-accent-secondary{background-color:var(--bg-accent-secondary,#37babc)}.bg-blackout{background-color:var(--bg-blackout,#090d13b3)}.bg-controls-accent{background-color:var(--controls-bg-accent,#5c8dea)}.bg-controls-disable{background-color:var(--controls-bg-disable,#7f8792)}.bg-controls-enable-primary{background-color:var(--controls-enable-primary,#fcfcfc)}.bg-error{background-color:var(--bg-error,#402027)}.bg-info{background-color:var(--bg-info,#1c2c47)}.bg-layer-0{background-color:var(--bg-layer-0,#000)}.bg-layer-2{background-color:var(--bg-layer-2,#141a23)}.bg-layer-3{background-color:var(--bg-layer-3,#222932)}.bg-layer-4{background-color:var(--bg-layer-4,#333942)}.bg-red-400{background-color:var(--bg-red-400,#f76464)}.bg-success{background-color:var(--bg-success,#1d3841)}.bg-transparent{background-color:transparent}.bg-warning{background-color:var(--bg-warning,#3f3d25)}.stroke-primary{stroke:var(--stroke-primary,#333942)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[6px\]{padding:6px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[6px\]{padding-left:6px;padding-right:6px}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font{font-family:var(--theme-font,var(--font-inter))}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.tracking-wider{letter-spacing:.05em}.text-\[var\(--bg-layer-0\2c _\#000000\)\]{color:var(--bg-layer-0,#000)}.text-accent-primary{color:var(--text-accent-primary,#5c8dea)}.text-controls-disable{color:var(--controls-disable,#333942)}.text-error{color:var(--text-error,#f76464)}.text-icon-accent-primary{color:var(--icon-accent-primary,#5c8dea)}.text-icon-accent-secondary{color:var(--icon-accent-secondary,#37babc)}.text-info{color:var(--text-info,#5c8dea)}.text-primary{color:var(--text-primary,#f3f4f6)}.text-secondary{color:var(--text-secondary,#7f8792)}.text-success{color:var(--text-success,#37babc)}.text-warning{color:var(--text-warning,#f4ce46)}.text-white{color:var(--text-white,#fff)}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 0 4px 0 var(--bg-blackout,#090d13b3);--tw-shadow-colored:0 0 4px 0 var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-offset-0{outline-offset:0}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-sky-400{--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity,1))}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.\[writing-mode\:tb-rl\]{writing-mode:tb-rl}}.before\:mr-2:before{content:var(--tw-content);margin-right:.5rem}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-\[18px\]:before{content:var(--tw-content);height:18px}.before\:w-\[18px\]:before{content:var(--tw-content);width:18px}.before\:rounded:before{content:var(--tw-content);border-radius:3px}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-hover:before{content:var(--tw-content);border-color:var(--stroke-hover,#f3f4f6)}.before\:border-icon-secondary:before{content:var(--tw-content);border-color:var(--icon-secondary,#7f8792)}.before\:bg-layer-4:before{content:var(--tw-content);background-color:var(--bg-layer-4,#333942)}.before\:content-\[\"\"\]:before{--tw-content:"";content:var(--tw-content)}.hover\:bg-accent-primary-alpha:hover{background-color:var(--bg-accent-primary-alpha,#5c8dea2b)}.hover\:text-accent-primary:hover{color:var(--text-accent-primary,#5c8dea)}.hover\:text-error:hover{color:var(--text-error,#f76464)}.hover\:text-icon-accent-primary:hover{color:var(--icon-accent-primary,#5c8dea)}.hover\:text-primary:hover{color:var(--text-primary,#f3f4f6)}.hover\:opacity-90:hover{opacity:.9}.focus-visible\:border-none:focus-visible{border-style:none}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}@media (min-width:640px){.sm\:inline{display:inline}}@media (min-width:768px){.md\:max-w-\[1200px\]{max-width:1200px}.md\:max-w-\[400px\]{max-width:400px}.md\:max-w-\[800px\]{max-width:800px}.md\:p-4{padding:1rem}}
1
+ .dial-h1{font-weight:600}.dial-h1,.dial-h2{font-size:20px;line-height:24px}.dial-h2{font-weight:400}.dial-h3{font-weight:600;line-height:18px}.dial-body,.dial-h3{font-size:16px}.dial-body{font-weight:400;line-height:28px}.dial-small{font-weight:400}.dial-small,.dial-small-semi{font-size:14px;line-height:16px}.dial-small-semi{font-weight:600}.dial-small-medium{font-weight:400;font-size:14px;line-height:16px}.dial-small-150{font-weight:400;font-size:14px;line-height:21px}.dial-tiny{line-height:14px}.dial-tiny,.dial-tiny-150{font-weight:400;font-size:12px}.dial-tiny-150{line-height:18px}.dial-caption{font-weight:400;font-size:10px;line-height:12px}h1{font-weight:600}h1,h2{font-size:20px;line-height:24px}h2{font-weight:400}h3{font-weight:600;font-size:16px;line-height:18px}.dial-base-button{display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px}.dial-base-button-disable{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}.dial-primary-button{background-color:var(--controls-bg-accent,#5c8dea);color:var(--controls-primary,#fcfcfc);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;&:focus,&:hover{background-color:var(--controls-bg-accent-hover,#4878d2)}&:focus{border-color:var(--stroke-hover,#f3f4f6)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-secondary-button{background-color:transparent;color:var(--text-primary,#f3f4f6);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;border-color:var(--stroke-primary,#333942);&:focus,&:hover{background-color:var(--bg-layer-4,#333942)}&:focus{border-color:var(--stroke-hover,#f3f4f6)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-tertiary-button{background-color:transparent;color:var(--text-accent-primary,#5c8dea);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;&:focus,&:hover{background-color:var(--controls-bg-accent-alpha,#5c8dea2b)}&:active,&:focus{border-color:var(--stroke-accent-primary,#5c8dea)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-danger-button{background-color:var(--bg-red-400,#f76464);color:var(--text-primary,#f3f4f6);display:flex;flex-direction:row;align-items:center;padding:.5rem .75rem;border-radius:3px;border:1px solid transparent;font-weight:400;font-size:14px;line-height:16px;min-width:38px;min-height:38px;&:focus,&:hover{background-color:var(--bg-red-800,#ae2f2f)}&:focus{border-color:var(--stroke-hover,#f3f4f6)}&:disabled{pointer-events:none;background-color:var(--controls-bg-disable,#7f8792);color:var(--controls-disable,#333942)}}.dial-input{border-radius:3px;border-width:1px;border-style:solid;border-color:var(--stroke-primary,#333942);&:hover{border-color:var(--stroke-hover,#f3f4f6)}&:focus,&:focus-within{border-color:var(--stroke-accent-primary,#5c8dea)}}.dial-input,.dial-input-no-border{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:transparent;font-weight:400;font-size:14px;line-height:16px;width:100%;outline-width:0;&:not(:-moz-placeholder){color:var(--text-primary,#f3f4f6)}&:not(:placeholder-shown){color:var(--text-primary,#f3f4f6)}&:disabled{background-color:var(--bg-layer-3,#222932)}&:disabled:not(:-moz-placeholder){color:var(--text-secondary,#7f8792)}&:disabled,&:disabled:not(:placeholder-shown){color:var(--text-secondary,#7f8792)}}.dial-input-disable,.dial-input-readonly{background-color:var(--bg-layer-3,#222932)}.dial-input-disable:not(:-moz-placeholder){color:var(--text-secondary,#7f8792)}.dial-input-disable,.dial-input-disable:not(:placeholder-shown){color:var(--text-secondary,#7f8792)}.dial-input-error{border-color:var(--stroke-error,#f76464)}.dial-input-field{height:38px}input{-moz-appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}&:focus{outline:none}}.dial-textarea{min-height:72px;resize:both;overflow:auto;white-space:normal}.dial-input-radio{position:relative;display:flex;cursor:pointer;align-items:center;justify-content:center;border-radius:9999px;border-width:1px;padding:0;height:18px;width:18px;border-color:var(--stroke-hover,#f3f4f6);background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:currentColor;font:inherit;&:checked{border-color:var(--stroke-accent-primary,#5c8dea)}&:checked{&:after{height:10px;width:10px;background-color:var(--bg-accent-primary,#5c8dea);content:"";border-radius:18px}}&:focus,&:hover{border-width:1px;border-color:var(--stroke-accent-primary,#5c8dea);background-color:transparent}&:disabled{pointer-events:none}&:disabled{&:checked{border-color:var(--stroke-primary,#333942)}&:checked{&:after{background-color:var(--controls-bg-disable,#7f8792)}}}}div .dial-sm-popup{max-width:100%}@media (min-width:768px){div .dial-sm-popup{max-width:400px}}div .dial-md-popup{max-width:100%}@media (min-width:768px){div .dial-md-popup{max-width:800px}}div .dial-lg-popup{max-width:100%}@media (min-width:768px){div .dial-lg-popup{max-width:1200px}}div .dial-popup{position:relative;display:flex;height:100%;max-height:100%;width:100%;flex-direction:column;border-radius:3px;background-color:var(--bg-layer-3,#222932);--tw-shadow:0 0 4px 0 var(--bg-blackout,#090d13b3);--tw-shadow-colored:0 0 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}@media (min-width:768px){div .dial-popup{height:auto}}div .dial-danger-popup{border-top-width:4px;border-color:var(--stroke-error,#f76464)}@layer ui{*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }
2
+ /*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}::-webkit-scrollbar-corner,::-webkit-scrollbar-track,::-webkit-scrollbar-track:hover,:not(:hover)::-webkit-scrollbar-thumb{background-color:transparent}::-webkit-scrollbar-thumb{cursor:pointer;border-radius:3px;background-color:var(--bg-layer-4,#333942)}::-webkit-scrollbar{height:4px;width:4px}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:hover{scrollbar-color:var(--bg-layer-4,#333942) transparent}.divide-y>:empty~:not([hidden]){border-top:none;border-bottom:none}.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.absolute{position:absolute}.relative{position:relative}.bottom-0{bottom:0}.left-0{left:0}.z-\[52\]{z-index:52}.z-\[53\]{z-index:53}.z-\[55\]{z-index:55}.my-1{margin-top:.25rem;margin-bottom:.25rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-\[26px\]{margin-left:26px}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.size-3{width:.75rem;height:.75rem}.h-0{height:0}.h-11{height:2.75rem}.h-12{height:3rem}.h-8{height:2rem}.h-\[10px\]{height:10px}.h-\[120px\]{height:120px}.h-\[18px\]{height:18px}.h-\[200px\]{height:200px}.h-\[22px\]{height:22px}.h-\[250px\]{height:250px}.h-\[300px\]{height:300px}.h-\[32px\]{height:32px}.h-\[34px\]{height:34px}.h-\[38px\]{height:38px}.h-\[4px\]{height:4px}.h-auto{height:auto}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:0}.min-h-4{min-height:1rem}.min-h-\[220px\]{min-height:220px}.min-h-\[38px\]{min-height:38px}.min-h-\[42px\]{min-height:42px}.min-h-\[48px\]{min-height:48px}.min-h-\[72px\]{min-height:72px}.min-h-screen{min-height:100vh}.w-0{width:0}.w-12{width:3rem}.w-2{width:.5rem}.w-32{width:8rem}.w-40{width:10rem}.w-48{width:12rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-96{width:24rem}.w-\[10px\]{width:10px}.w-\[160px\]{width:160px}.w-\[18px\]{width:18px}.w-\[22px\]{width:22px}.w-\[250px\]{width:250px}.w-\[280px\]{width:280px}.w-\[300px\]{width:300px}.w-\[320px\]{width:320px}.w-\[360px\]{width:360px}.w-\[36px\]{width:36px}.w-\[400px\]{width:400px}.w-\[420px\]{width:420px}.w-\[450px\]{width:450px}.w-\[480px\]{width:480px}.w-\[4px\]{width:4px}.w-\[500px\]{width:500px}.w-\[520px\]{width:520px}.w-\[600px\]{width:600px}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.min-w-\[100px\]{min-width:100px}.min-w-\[160px\]{min-width:160px}.min-w-\[180px\]{min-width:180px}.min-w-\[400px\]{min-width:400px}.min-w-\[600px\]{min-width:600px}.min-w-\[800px\]{min-width:800px}.max-w-80{max-width:20rem}.max-w-\[1000px\]{max-width:1000px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1400px\]{max-width:1400px}.max-w-\[160px\]{max-width:160px}.max-w-\[200px\]{max-width:200px}.max-w-\[300px\]{max-width:300px}.max-w-\[80px\]{max-width:80px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.flex-none{flex:none}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.grow-0{flex-grow:0}.basis-auto{flex-basis:auto}.border-collapse{border-collapse:collapse}.rotate-180{--tw-rotate:180deg}.rotate-180,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin-steps{animation:spin .75s steps(8) infinite}.\!cursor-not-allowed{cursor:not-allowed!important}.cursor-default{cursor:default}.cursor-move{cursor:move}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-\[minmax\(0\2c 100px\)_1fr\]{grid-template-columns:minmax(0,100px) 1fr}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-x-\[160px\]{-moz-column-gap:160px;column-gap:160px}.gap-y-1{row-gap:.25rem}.gap-y-10{row-gap:2.5rem}.gap-y-3{row-gap:.75rem}.gap-y-6{row-gap:1.5rem}.gap-y-\[80px\]{row-gap:80px}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem*var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px*var(--tw-divide-y-reverse))}.divide-tertiary>:not([hidden])~:not([hidden]){border-color:var(--stroke-tertiary,#090d13)}.self-end{align-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.overflow-ellipsis,.truncate{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:3px}.rounded-\[8px\]{border-radius:8px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-none{border-radius:0}.rounded-xl{border-radius:.75rem}.rounded-l-none{border-top-left-radius:0;border-bottom-left-radius:0}.rounded-r-none{border-top-right-radius:0;border-bottom-right-radius:0}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-b-2,.border-b-\[2px\]{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-0{border-left-width:0}.border-l-2{border-left-width:2px}.border-r-0{border-right-width:0}.border-t{border-top-width:1px}.border-t-2{border-top-width:2px}.border-t-4{border-top-width:4px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-none{border-style:none}.border-\[\#F4CE46\]{--tw-border-opacity:1;border-color:rgb(244 206 70/var(--tw-border-opacity,1))}.border-accent-primary{border-color:var(--stroke-accent-primary,#5c8dea)}.border-accent-secondary{border-color:var(--stroke-accent-secondary,#37babc)}.border-error{border-color:var(--stroke-error,#f76464)}.border-hover{border-color:var(--stroke-hover,#f3f4f6)}.border-icon-secondary{border-color:var(--icon-secondary,#7f8792)}.border-primary{border-color:var(--stroke-primary,#333942)}.border-red-900{border-color:var(--red-900,#402027)}.border-tertiary{border-color:var(--stroke-tertiary,#090d13)}.border-transparent{border-color:transparent}.border-b-accent-primary{border-bottom-color:var(--stroke-accent-primary,#5c8dea)}.border-l-accent-primary{border-left-color:var(--stroke-accent-primary,#5c8dea)}.\!bg-accent-secondary{background-color:var(--bg-accent-secondary,#37babc)!important}.bg-accent-primary{background-color:var(--bg-accent-primary,#5c8dea)}.bg-accent-primary-alpha{background-color:var(--bg-accent-primary-alpha,#5c8dea2b)}.bg-accent-secondary{background-color:var(--bg-accent-secondary,#37babc)}.bg-blackout{background-color:var(--bg-blackout,#090d13b3)}.bg-controls-accent{background-color:var(--controls-bg-accent,#5c8dea)}.bg-controls-disable{background-color:var(--controls-bg-disable,#7f8792)}.bg-controls-enable-primary{background-color:var(--controls-enable-primary,#fcfcfc)}.bg-error{background-color:var(--bg-error,#402027)}.bg-info{background-color:var(--bg-info,#1c2c47)}.bg-layer-0{background-color:var(--bg-layer-0,#000)}.bg-layer-1{background-color:var(--bg-layer-1,#090d13)}.bg-layer-2{background-color:var(--bg-layer-2,#141a23)}.bg-layer-3{background-color:var(--bg-layer-3,#222932)}.bg-layer-4{background-color:var(--bg-layer-4,#333942)}.bg-red-400{background-color:var(--bg-red-400,#f76464)}.bg-success{background-color:var(--bg-success,#1d3841)}.bg-transparent{background-color:transparent}.bg-warning{background-color:var(--bg-warning,#3f3d25)}.stroke-primary{stroke:var(--stroke-primary,#333942)}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[6px\]{padding:6px}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[6px\]{padding-left:6px;padding-right:6px}.py-0{padding-top:0;padding-bottom:0}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-\[6px\]{padding-bottom:6px}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font{font-family:var(--theme-font,var(--font-inter))}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-4{line-height:1rem}.leading-none{line-height:1}.tracking-wider{letter-spacing:.05em}.\!text-error{color:var(--text-error,#f76464)!important}.text-\[var\(--bg-layer-0\2c _\#000000\)\]{color:var(--bg-layer-0,#000)}.text-accent-primary{color:var(--text-accent-primary,#5c8dea)}.text-controls-disable{color:var(--controls-disable,#333942)}.text-error{color:var(--text-error,#f76464)}.text-icon-accent-primary{color:var(--icon-accent-primary,#5c8dea)}.text-icon-accent-secondary{color:var(--icon-accent-secondary,#37babc)}.text-icon-secondary{color:var(--icon-secondary,#7f8792)}.text-info{color:var(--text-info,#5c8dea)}.text-primary{color:var(--text-primary,#f3f4f6)}.text-secondary{color:var(--text-secondary,#7f8792)}.text-success{color:var(--text-success,#37babc)}.text-warning{color:var(--text-warning,#f4ce46)}.text-white{color:var(--text-white,#fff)}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 0 4px 0 var(--bg-blackout,#090d13b3);--tw-shadow-colored:0 0 4px 0 var(--tw-shadow-color)}.shadow,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.outline-offset-0{outline-offset:0}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-1,.ring-2{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-sky-400{--tw-ring-opacity:1;--tw-ring-color:rgb(56 189 248/var(--tw-ring-opacity,1))}.ring-offset-0{--tw-ring-offset-width:0px}.ring-offset-1{--tw-ring-offset-width:1px}.ring-offset-2{--tw-ring-offset-width:2px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.\[writing-mode\:tb-rl\]{writing-mode:tb-rl}}.before\:mr-2:before{content:var(--tw-content);margin-right:.5rem}.before\:inline-block:before{content:var(--tw-content);display:inline-block}.before\:h-\[18px\]:before{content:var(--tw-content);height:18px}.before\:w-\[18px\]:before{content:var(--tw-content);width:18px}.before\:rounded:before{content:var(--tw-content);border-radius:3px}.before\:border:before{content:var(--tw-content);border-width:1px}.before\:border-hover:before{content:var(--tw-content);border-color:var(--stroke-hover,#f3f4f6)}.before\:border-icon-secondary:before{content:var(--tw-content);border-color:var(--icon-secondary,#7f8792)}.before\:bg-layer-4:before{content:var(--tw-content);background-color:var(--bg-layer-4,#333942)}.before\:content-\[\"\"\]:before{--tw-content:"";content:var(--tw-content)}.hover\:border-hover:hover{border-color:var(--stroke-hover,#f3f4f6)}.hover\:bg-accent-primary-alpha:hover{background-color:var(--bg-accent-primary-alpha,#5c8dea2b)}.hover\:text-accent-primary:hover{color:var(--text-accent-primary,#5c8dea)}.hover\:text-accent-tertiary:hover{color:var(--text-accent-tertiary,#a972ff)}.hover\:text-error:hover{color:var(--text-error,#f76464)}.hover\:text-icon-accent-primary:hover{color:var(--icon-accent-primary,#5c8dea)}.hover\:text-primary:hover{color:var(--text-primary,#f3f4f6)}.hover\:opacity-90:hover{opacity:.9}.focus\:bg-accent-primary-alpha:focus{background-color:var(--bg-accent-primary-alpha,#5c8dea2b)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:border-none:focus-visible{border-style:none}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline:focus-visible{outline-style:solid}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:640px){.sm\:inline{display:inline}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:768px){.md\:max-w-\[1200px\]{max-width:1200px}.md\:max-w-\[400px\]{max-width:400px}.md\:max-w-\[800px\]{max-width:800px}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-4{padding:1rem}}@media (min-width:1024px){.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}
@@ -0,0 +1,41 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { DialBreadcrumbPathItem } from '../../models/breadcrumb';
3
+ export interface DialBreadcrumbProps {
4
+ pathItems?: DialBreadcrumbPathItem[];
5
+ separator?: ReactNode;
6
+ ariaLabel?: string;
7
+ cssClass?: string;
8
+ children?: ReactNode;
9
+ titleCssClass?: string;
10
+ }
11
+ /**
12
+ * Breadcrumb navigation component with horizontal scroll on overflow.
13
+ *
14
+ * Use either the `pathItems` prop or compose with `<DialBreadcrumbItem/>` as children.
15
+ * The last item is treated as the current page.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <DialBreadcrumb
20
+ * pathItems={[
21
+ * { title: 'Home', href: '/' },
22
+ * { title: 'Section', href: '/section' },
23
+ * { title: 'Current Page' },
24
+ * ]}
25
+ * />
26
+ *
27
+ * <DialBreadcrumb>
28
+ * <DialBreadcrumbItem title="Home" href="/" />
29
+ * <DialBreadcrumbItem title="Section" href="/section" />
30
+ * <DialBreadcrumbItem title="Current Page" />
31
+ * </DialBreadcrumb>
32
+ * ```
33
+ *
34
+ * @param pathItems - Array of breadcrumb pathItems (see `DialBreadcrumbItem`).
35
+ * @param separator - Custom separator node (default: right chevron icon).
36
+ * @param ariaLabel - Aria label for the `<nav>` element (default: "Breadcrumb").
37
+ * @param cssClass - Additional CSS classes for the `<nav>` container.
38
+ * @param children - Alternatively, compose with `<DialBreadcrumbItem/>` as children.
39
+ * @param titleCssClass - Additional CSS classes applied to each item when using `pathItems` prop.
40
+ */
41
+ export declare const DialBreadcrumb: FC<DialBreadcrumbProps>;
@@ -0,0 +1,13 @@
1
+ import { FC, ReactNode } from 'react';
2
+ export interface DialBreadcrumbItemProps {
3
+ title: ReactNode;
4
+ href?: string;
5
+ onClick?: React.MouseEventHandler<HTMLAnchorElement>;
6
+ disabled?: boolean;
7
+ iconBefore?: ReactNode;
8
+ cssClass?: string;
9
+ titleCssClass?: string;
10
+ isLast?: boolean;
11
+ separator?: ReactNode;
12
+ }
13
+ export declare const DialBreadcrumbItem: FC<DialBreadcrumbItemProps>;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const breadcrumbBaseClasses = "w-full overflow-x-auto";
3
+ export declare const breadcrumbListClasses = "flex flex-nowrap items-center gap-2 min-w-0 px-0 py-0 whitespace-nowrap";
4
+ export declare const breadcrumbItemBaseClasses = "flex items-center gap-2 min-w-0 shrink-0 dial-small";
5
+ export declare const breadcrumbLinkBaseClasses = "inline-flex items-center gap-1 min-w-0 transition-colors";
6
+ export declare const breadcrumbLinkInteractiveClasses = "text-secondary hover:text-accent-primary";
7
+ export declare const breadcrumbCurrentClasses = "text-primary cursor-default";
8
+ export declare const breadcrumbSeparatorClasses = "flex-none inline-flex items-center leading-none text-icon-secondary";
9
+ export declare const defaultSeparator: ReactNode;
@@ -1,12 +1,13 @@
1
1
  import { FC } from 'react';
2
2
  export interface DialCheckboxProps {
3
3
  id: string;
4
- label?: string;
4
+ label?: string | React.ReactNode;
5
5
  checked: boolean;
6
6
  disabled?: boolean;
7
7
  indeterminate?: boolean;
8
8
  ariaLabel?: string;
9
9
  onChange?: (value?: boolean, id?: string) => void;
10
+ cssClass?: string;
10
11
  }
11
12
  /**
12
13
  * A Checkbox component with styling options
@@ -29,5 +30,6 @@ export interface DialCheckboxProps {
29
30
  * @param [indeterminate=false] - indeterminate state
30
31
  * @param [ariaLabel] - Accessible label for screen readers when no title is provided
31
32
  * @param [onChange] - Callback function called when the checkbox value changes
33
+ * @param [cssClass] - Additional CSS classes to apply to the checkbox wrapper
32
34
  */
33
35
  export declare const DialCheckbox: FC<DialCheckboxProps>;
@@ -4,7 +4,7 @@ import { ConfirmationPopupVariant } from '../../types/confirmation-popup';
4
4
  export interface DialConfirmationPopupProps extends DialPopupProps {
5
5
  description?: string | ReactNode;
6
6
  descriptionCssClass?: string;
7
- confirmLabel: string;
7
+ confirmLabel?: string;
8
8
  cancelLabel?: string;
9
9
  isLoading?: boolean;
10
10
  disableConfirmButton?: boolean;
@@ -36,7 +36,7 @@ export interface DialConfirmationPopupProps extends DialPopupProps {
36
36
  * @param [description] - Secondary text (ignored when `children` set)
37
37
  * @param [descriptionCssClass] - Custom CSS class for the description
38
38
  * @param [open=false] - Controls visibility of the popup
39
- * @param confirmLabel - Label for the confirm button
39
+ * @param [confirmLabel="Ok"] - Label for the confirm button
40
40
  * @param [cancelLabel="Cancel"] - Label for the cancel button
41
41
  * @param [isLoading=false] - Shows loader placeholder and hides actions
42
42
  * @param [disableConfirmButton=false] - Disables the confirm button
@@ -3,6 +3,7 @@ import { ConfirmationPopupVariant } from '../../types/confirmation-popup';
3
3
  export declare const actionsBaseClasses = "flex justify-end gap-2 px-6 py-4";
4
4
  export declare const descriptionBaseClasses = "text-secondary dial-small-150 px-6 py-4";
5
5
  export declare const defaultCancelLabel = "Cancel";
6
+ export declare const defaultConfirmLabel = "Ok";
6
7
  export declare const variantConfig: Record<ConfirmationPopupVariant, {
7
8
  container?: string;
8
9
  confirmVariant: ButtonVariant;
@@ -0,0 +1,31 @@
1
+ import { FC, ReactNode } from 'react';
2
+ export interface DialDraggableItemProps {
3
+ id: string;
4
+ children: ReactNode;
5
+ cssClass?: string;
6
+ findItem?: (field: string) => number;
7
+ moveItem?: (field: string, atIndex: number) => void;
8
+ handleAriaLabel?: string;
9
+ }
10
+ /**
11
+ * A lightweight wrapper that makes its children sortable via drag-and-drop.
12
+ *
13
+ * Renders a row with a grab handle (left) and the provided content (right).
14
+ * Integrates with `react-dnd` using a simple "column" drag type and delegates
15
+ * reordering logic to the provided `findItem` and `moveItem` callbacks.
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * <DialDraggableItem id="a" findItem={find} moveItem={move}>
20
+ * <span>Item A</span>
21
+ * </DialDraggableItem>
22
+ * ```
23
+ *
24
+ * @param id - Unique identifier of the draggable item
25
+ * @param children - Content rendered within the draggable row
26
+ * @param [cssClass] - Additional CSS classes applied to the root container
27
+ * @param [findItem] - Function to resolve an item's current index by id
28
+ * @param [moveItem] - Function to move an item (by id) to a target index
29
+ * @param [handleAriaLabel='Drag item'] - Accessible label for the handle
30
+ */
31
+ export declare const DialDraggableItem: FC<DialDraggableItemProps>;
@@ -0,0 +1,3 @@
1
+ export declare const DRAG_TYPE = "column";
2
+ export declare const containerBaseClasses = "flex items-center";
3
+ export declare const handleBaseClasses = "mr-3 cursor-move text-secondary";
@@ -8,6 +8,8 @@ export interface DropdownMenuProps {
8
8
  key: string;
9
9
  domEvent: MouseEvent;
10
10
  }) => void;
11
+ header?: ReactNode | (() => ReactNode);
12
+ footer?: ReactNode | (() => ReactNode);
11
13
  }
12
14
  export interface DialDropdownProps {
13
15
  children: ReactNode;
@@ -15,6 +17,7 @@ export interface DialDropdownProps {
15
17
  renderOverlay?: () => ReactNode;
16
18
  trigger?: DropdownTrigger[];
17
19
  placement?: Placement;
20
+ allowedPlacements?: Placement[];
18
21
  disabled?: boolean;
19
22
  open?: boolean;
20
23
  defaultOpen?: boolean;
@@ -56,6 +59,7 @@ export interface DialDropdownProps {
56
59
  * @param [renderOverlay] - Render function for fully custom overlay content (ignored when `menu` is provided)
57
60
  * @param [trigger=[DropdownTrigger.Click]] - Interactions that open the menu
58
61
  * @param [placement] - Floating UI placement string; when omitted, auto placement is used
62
+ * @param [allowedPlacements] - Restricts the allowed placements
59
63
  * @param [disabled=false] - Disables interaction and prevents opening
60
64
  * @param [open] - Controlled open state (when provided, `defaultOpen` is ignored)
61
65
  * @param [defaultOpen=false] - Initial open state in uncontrolled mode
@@ -0,0 +1,31 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { DialTooltipContainerOptions } from '../Tooltip/TooltipContext';
3
+ export interface DialEllipsisTooltipProps extends DialTooltipContainerOptions {
4
+ text: string | ReactNode;
5
+ cssClass?: string;
6
+ contentClassName?: string;
7
+ hideTooltip?: boolean;
8
+ }
9
+ /**
10
+ * Single-line text with CSS ellipsis that shows a tooltip **only when actually truncated**.
11
+ * If the text fits, tooltip content is empty and the popup stays hidden.
12
+ *
13
+ * Important: width must be finite for truncation.
14
+ * Consumers can override via `cssClass`.
15
+ *
16
+ * a11y: when truncated, the full text is exposed via `aria-label` on the reference node.
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * <DialEllipsisTooltip text="Very long message that will be truncated" />
21
+ * <DialEllipsisTooltip text={<span className="font-medium">Custom node</span>} cssClass="max-w-[160px]" />
22
+ * <DialEllipsisTooltip text="Tooltip disabled even if truncated" hideTooltip />
23
+ * ```
24
+ *
25
+ * @param text The text or node to display (truncated with ellipsis if too long).
26
+ * @param cssClass Optional additional CSS classes for the text container (e.g. to set width).
27
+ * @param contentClassName Optional additional CSS classes for the tooltip content.
28
+ * @param hideTooltip If true, disables the tooltip even if text is truncated.
29
+ * @param tooltipProps Additional props to pass to the underlying DialTooltipContainer.
30
+ */
31
+ export declare const DialEllipsisTooltip: FC<DialEllipsisTooltipProps>;
@@ -0,0 +1 @@
1
+ export declare const tooltipContentBaseClasses = "text-primary";
@@ -1,10 +1,11 @@
1
- import { FC } from 'react';
1
+ import { FC, ReactNode } from 'react';
2
2
  export interface DialFieldLabelProps {
3
- fieldTitle?: string;
3
+ fieldTitle?: string | ReactNode;
4
4
  htmlFor: string;
5
5
  optional?: boolean;
6
6
  optionalText?: string;
7
7
  cssClass?: string;
8
+ description?: string;
8
9
  }
9
10
  /**
10
11
  * A field label component
@@ -20,5 +21,6 @@ export interface DialFieldLabelProps {
20
21
  * @param [optional=false] - Whether the field is optional (displays "(Optional)" text if optionalText is not provided)
21
22
  * @param [optionalText="(Optional)"] - Custom text for optional indicator
22
23
  * @param [cssClass] - Additional CSS classes to apply to the label element
24
+ * @param [description] - Additional description text, displayed below the label.
23
25
  */
24
26
  export declare const DialFieldLabel: FC<DialFieldLabelProps>;
@@ -0,0 +1,31 @@
1
+ import { FC, ReactNode } from 'react';
2
+ export interface DialFileIconProps {
3
+ extension: string;
4
+ size?: number;
5
+ stroke?: number;
6
+ cssClass?: string;
7
+ decorative?: boolean;
8
+ label?: string;
9
+ indicator?: ReactNode;
10
+ }
11
+ /**
12
+ * Renders a file-type icon based on a file extension.
13
+ *
14
+ * Uses DialIcon to provide consistent icon wrapper styling.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * <DialFileIcon extension=".pdf" />
19
+ * <DialFileIcon extension="tsx" size={28} stroke={1.25} />
20
+ * <DialFileIcon extension="unknown" decorative /> // decorative, hidden from AT
21
+ * ```
22
+ *
23
+ * @param extension - File extension string (with or without leading dot)
24
+ * @param [size=baseIconProps.size] - Icon pixel size
25
+ * @param [stroke=baseIconProps.stroke] - Tabler icon stroke width
26
+ * @param [cssClass] - Additional classes on the container
27
+ * @param [decorative=false] - Whether the icon should be hidden from assistive technologies
28
+ * @param [label] - Accessible label when not decorative; defaults to "<EXT> file icon"
29
+ * @param [indicator] - Optional indicator element to display alongside the icon
30
+ */
31
+ export declare const DialFileIcon: FC<DialFileIconProps>;
@@ -0,0 +1,9 @@
1
+ import { ReactNode } from 'react';
2
+ export type ExtensionKey = '.bmp' | '.cpp' | '.c' | '.cs' | '.css' | '.csv' | '.doc' | '.docx' | '.html' | '.ini' | '.jpg' | '.js' | '.json' | '.jsx' | '.md' | '.pdf' | '.php' | '.png' | '.ppt' | '.py' | '.rs' | '.sql' | '.svg' | '.ts' | '.tsx' | '.txt' | '.vue' | '.xls' | '.xml' | '.zip';
3
+ export interface BaseFileIconOpts {
4
+ size?: number;
5
+ stroke?: number;
6
+ className?: string;
7
+ }
8
+ export declare const fileIconFactories: Record<string, (opts: BaseFileIconOpts) => ReactNode>;
9
+ export declare const supportedExtensions: ExtensionKey[];
@@ -0,0 +1,75 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { FormItemOrientation } from '../../types/form-item';
3
+ export interface DialFormItemProps {
4
+ elementId: string;
5
+ label?: string | ReactNode;
6
+ optional?: boolean;
7
+ optionalText?: string;
8
+ description?: string;
9
+ error?: string | ReactNode | boolean;
10
+ orientation?: FormItemOrientation;
11
+ labelVisuallyHidden?: boolean;
12
+ cssClass?: string;
13
+ labelCssClass?: string;
14
+ errorCssClass?: string;
15
+ children: ReactNode;
16
+ captionDescription?: string;
17
+ readonly?: boolean;
18
+ value?: ReactNode | string;
19
+ defaultEmptyText?: string;
20
+ }
21
+ /**
22
+ * A layout wrapper for form controls with label, helper text and error message.
23
+ *
24
+ * Uses `DialFieldLabel` for the label and `DialErrorText` for consistent error styling.
25
+ * Wires accessibility with:
26
+ * - `role="group"`
27
+ * - `aria-labelledby` (when label is present)
28
+ * - `aria-describedby` (description and/or error ids)
29
+ *
30
+ * @example
31
+ * ```tsx
32
+ * <DialFormItem elementId="transport" label="Transport" cssClass="w-[320px]">
33
+ * <DialSelect
34
+ * elementId="transport"
35
+ * value={transport}
36
+ * options={transportOptions}
37
+ * onChange={(val) => setTransport(val as ToolsetTransport)}
38
+ * />
39
+ * </DialFormItem>
40
+ *
41
+ * // With description and error
42
+ * <DialFormItem
43
+ * elementId="email"
44
+ * label="Email Address"
45
+ * description="We'll never share your email."
46
+ * error="Please enter a valid email address."
47
+ * >
48
+ * <DialInput
49
+ * elementId="email"
50
+ * type="email"
51
+ * value={email}
52
+ * onChange={(val) => setEmail(val as string)}
53
+ * placeholder="name@company.com"
54
+ * />
55
+ * </DialFormItem>
56
+ * ```
57
+ *
58
+ * @param elementId - Unique identifier for the form control element (used for accessibility)
59
+ * @param [label] - The label text or ReactNode to display above the form control
60
+ * @param [optional=false] - Whether the field is optional (displays "(Optional)" indicator)
61
+ * @param [optionalText="(Optional)"] - Custom text for optional indicator
62
+ * @param [description] - Additional description text, displayed below the label.
63
+ * @param [error] - Error message text or ReactNode to display below the form control (replaces description when present)
64
+ * @param [orientation='vertical'] - Layout orientation, either 'vertical' (label above control) or 'horizontal' (label to the left)
65
+ * @param [labelVisuallyHidden=false] - Whether to visually hide the label (still accessible to screen readers)
66
+ * @param [cssClass] - Additional CSS classes to apply to the container div
67
+ * @param [labelCssClass] - Additional CSS classes to apply to the label element
68
+ * @param [errorCssClass] - Additional CSS classes to apply to the error message element
69
+ * @param [captionDescription] - Additional caption description text, displayed below the form control.
70
+ * @param [readonly=false] - Whether the form control is read-only (displays value as text, no input element)
71
+ * @param [value] - The current value of the form control
72
+ * @param [defaultEmptyText="None"] - Text to display when readonly and value is empty
73
+ * @param children - The form control element(s) to render inside the DialFormItem
74
+ */
75
+ export declare const DialFormItem: FC<DialFormItemProps>;
@@ -0,0 +1,3 @@
1
+ import { FormItemOrientation } from '../../types/form-item';
2
+ export declare const containerBaseClasses = "w-full flex";
3
+ export declare const orientationClassMap: Record<FormItemOrientation, string>;
@@ -0,0 +1,44 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { DialPopupProps } from '../Popup/Popup';
3
+ export interface DialFormPopupProps extends DialPopupProps {
4
+ submitLabel?: string;
5
+ cancelLabel?: string;
6
+ isLoading?: boolean;
7
+ disableSubmitButton?: boolean;
8
+ submitClassName?: string;
9
+ onSubmit: () => void;
10
+ onCancel?: () => void;
11
+ children?: ReactNode;
12
+ }
13
+ /**
14
+ * A form-oriented popup dialog.
15
+ *
16
+ * Provides an accessible popup with a title, custom body,
17
+ * and a footer with "Cancel" and "Submit" actions.
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * <DialFormPopup
22
+ * open
23
+ * title="Create Model"
24
+ * onClose={() => setOpen(false)}
25
+ * onSubmit={handleSubmit}
26
+ * />
27
+ * ```
28
+ *
29
+ * @param title - Title content for the header
30
+ * @param [open=false] - Controls visibility of the popup
31
+ * @param [submitLabel="Submit"] - Label for the primary action button
32
+ * @param [cancelLabel="Cancel"] - Label for the cancel button
33
+ * @param [isLoading=false] - Shows loader placeholder and hides actions
34
+ * @param [disableSubmitButton=false] - Disables the submit button
35
+ * @param [cssClass] - Extra classes for the popup container
36
+ * @param [submitClassName] - Extra classes merged into the submit button
37
+ * @param onClose - Fired on close
38
+ * @param onSubmit - Fired on submit
39
+ * @param [onCancel] - Fired on cancel (falls back to `onClose`)
40
+ * @param [children] - Custom body content
41
+ * @param [dividers=true] - Whether to render separators between sections
42
+ * @param [size=PopupSize.Md] - Size of the popup
43
+ */
44
+ export declare const DialFormPopup: FC<DialFormPopupProps>;
@@ -0,0 +1,3 @@
1
+ export declare const defaultSubmitLabel = "Create";
2
+ export declare const defaultCancelLabel = "Cancel";
3
+ export declare const actionsBaseClasses = "flex items-center justify-end gap-2 px-6 py-3";
@@ -2,6 +2,7 @@ import { FC, ReactNode } from 'react';
2
2
  export interface DialIconProps {
3
3
  icon?: ReactNode;
4
4
  className?: string;
5
+ label?: string;
5
6
  }
6
7
  /**
7
8
  * A wrapper component for rendering icons with consistent styling
@@ -1,12 +1,14 @@
1
- import { FC } from 'react';
1
+ import { FC, FocusEvent } from 'react';
2
2
  import { InputBaseProps } from '../../models/field-control-props';
3
3
  export interface DialInputProps extends InputBaseProps {
4
4
  type?: string;
5
5
  containerCssClass?: string;
6
6
  cssClass?: string;
7
7
  hideBorder?: boolean;
8
+ tooltipText?: string;
8
9
  tooltipTriggerClassName?: string;
9
10
  onChange?: (value: string) => void;
11
+ onBlur?: (event: FocusEvent<HTMLInputElement, Element>) => void;
10
12
  }
11
13
  /**
12
14
  * A flexible input component with icon support and various styling options
@@ -24,7 +26,9 @@ export interface DialInputProps extends InputBaseProps {
24
26
  *
25
27
  * @param elementId - Unique identifier for the input element
26
28
  * @param [value] - The current value of the input
29
+ * @param [defaultValue] - The initial value of the input
27
30
  * @param [onChange] - Callback function called when the input value changes
31
+ * @param [onBlur] - Callback function called when the input blurs
28
32
  * @param [iconBefore] - Icon or element to display before the input
29
33
  * @param [iconAfter] - Icon or element to display after the input
30
34
  * @param [placeholder] - Placeholder text displayed when input is empty
@@ -40,6 +44,7 @@ export interface DialInputProps extends InputBaseProps {
40
44
  * @param [prefix] - Text to display inside the input on the left
41
45
  * @param [suffix] - Text to display inside the input on the right
42
46
  * @param [textBeforeInput] - Text to display before the input in a separate field
47
+ * @param [tooltipText] - The text to display inside the tooltip. If empty, the tooltip will display the value prop.
43
48
  * @param [tooltipTriggerClassName] - Additional CSS classes to apply to the tooltip
44
49
  * @param [textAfterInput] - Text to display after the input in a separate field
45
50
  */
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
2
  import { FieldControlProps, InputBaseProps } from '../../models/field-control-props';
3
3
  export interface DialInputFieldBaseProps extends FieldControlProps, InputBaseProps {
4
- value?: string | number;
4
+ value?: string | number | null;
5
5
  defaultEmptyText?: string;
6
6
  errorText?: string;
7
7
  elementCssClass?: string;
@@ -4,7 +4,7 @@ export interface DialInputPopupProps {
4
4
  selectedValue?: string | string[];
5
5
  children: ReactNode;
6
6
  onOpen: () => void;
7
- readonly?: boolean;
7
+ disabled?: boolean;
8
8
  valueCssClasses?: string;
9
9
  inputCssClasses?: string;
10
10
  elementId?: string;
@@ -23,7 +23,7 @@ export interface DialInputPopupProps {
23
23
  * selectedValue="Selected Item"
24
24
  * emptyValueText="No value selected"
25
25
  * onOpen={() => setModalState(true)}
26
- * readonly={false}
26
+ * disabled={false}
27
27
  * valueCssClasses="custom-value-class"
28
28
  * inputCssClasses="custom-input-class"
29
29
  * elementId="input-modal"
@@ -37,7 +37,7 @@ export interface DialInputPopupProps {
37
37
  * @param [selectedValue] - The currently selected value(s). Can be a string for a single value or an array of strings for multiple values.
38
38
  * @param children - The content to render inside the modal when it is opened.
39
39
  * @param onOpen - A callback function triggered when the modal open button is clicked.
40
- * @param [readonly=false] - Whether the input is read-only, preventing user interaction.
40
+ * @param [disabled=false] - Whether the input is disabled, preventing user interaction.
41
41
  * @param [valueCssClasses] - Additional CSS classes applied to the displayed value.
42
42
  * @param [inputCssClasses] - Additional CSS classes applied to the input container.
43
43
  * @param [elementId] - A unique identifier for the input element, useful for accessibility and testing.
@@ -2,7 +2,7 @@ import { FC } from 'react';
2
2
  import { EDITOR_THEMES } from '../../types/editor';
3
3
  import { OnValidate } from '@monaco-editor/react';
4
4
  import { editor } from 'monaco-editor';
5
- export interface Props {
5
+ export interface DialJsonEditorProps {
6
6
  value?: string | undefined;
7
7
  currentTheme: string;
8
8
  themesConfig?: Record<EDITOR_THEMES, editor.IStandaloneThemeData>;
@@ -21,4 +21,4 @@ export interface Props {
21
21
  * @param [onValidateJSON] - Callback fired when JSON validation occurs
22
22
  * @param [options] - Additional Monaco editor options
23
23
  */
24
- export declare const DialJsonEditor: FC<Props>;
24
+ export declare const DialJsonEditor: FC<DialJsonEditorProps>;