@4alldigital/foundation-ui--gamma 1.22.1 → 1.24.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 (73) hide show
  1. package/dist/foundation-ui.css +1 -1
  2. package/dist/index.esm.js +307 -102
  3. package/dist/index.js +308 -101
  4. package/dist/types/fui/components/Blockquote/Blockquote.d.ts +2 -3
  5. package/dist/types/fui/components/Button/Button.d.ts +3 -2
  6. package/dist/types/fui/components/Button/Button.types.d.ts +20 -4
  7. package/dist/types/fui/components/Checkbox/Checkbox.d.ts +5 -0
  8. package/dist/types/fui/components/Checkbox/Checkbox.stories.d.ts +6 -0
  9. package/dist/types/fui/components/Checkbox/Checkbox.test.d.ts +1 -0
  10. package/dist/types/fui/components/Checkbox/Checkbox.types.d.ts +12 -0
  11. package/dist/types/fui/components/Checkbox/index.d.ts +1 -0
  12. package/dist/types/fui/components/Container/Container.d.ts +3 -2
  13. package/dist/types/fui/components/Container/Container.types.d.ts +1 -0
  14. package/dist/types/fui/components/ContentPageLayout/ContentPageLayout.d.ts +5 -1
  15. package/dist/types/fui/components/ContentRowsLayout/ContentRowsLayout.d.ts +3 -4
  16. package/dist/types/fui/components/Copy/Copy.d.ts +4 -8
  17. package/dist/types/fui/components/Copy/Copy.types.d.ts +11 -10
  18. package/dist/types/fui/components/FileUpload/FileUpload.d.ts +5 -0
  19. package/dist/types/fui/components/FileUpload/FileUpload.stories.d.ts +6 -0
  20. package/dist/types/fui/components/FileUpload/FileUpload.test.d.ts +1 -0
  21. package/dist/types/fui/components/FileUpload/FileUpload.types.d.ts +7 -0
  22. package/dist/types/fui/components/FileUpload/index.d.ts +1 -0
  23. package/dist/types/fui/components/Form/Form.d.ts +8 -0
  24. package/dist/types/fui/components/Form/Form.stories.d.ts +7 -0
  25. package/dist/types/fui/components/Form/Form.test.d.ts +1 -0
  26. package/dist/types/fui/components/Form/Form.types.d.ts +27 -0
  27. package/dist/types/fui/components/Form/index.d.ts +1 -0
  28. package/dist/types/fui/components/FormField/FormField.d.ts +8 -0
  29. package/dist/types/fui/components/FormField/FormField.stories.d.ts +7 -0
  30. package/dist/types/fui/components/FormField/FormField.test.d.ts +1 -0
  31. package/dist/types/fui/components/FormField/FormField.types.d.ts +34 -0
  32. package/dist/types/fui/components/FormField/index.d.ts +1 -0
  33. package/dist/types/fui/components/FormSelect/FormSelect.d.ts +8 -0
  34. package/dist/types/fui/components/FormSelect/FormSelect.stories.d.ts +6 -0
  35. package/dist/types/fui/components/FormSelect/FormSelect.test.d.ts +1 -0
  36. package/dist/types/fui/components/FormSelect/FormSelect.types.d.ts +41 -0
  37. package/dist/types/fui/components/FormSelect/index.d.ts +1 -0
  38. package/dist/types/fui/components/Heading/Heading.d.ts +3 -4
  39. package/dist/types/fui/components/Hr/Hr.d.ts +4 -1
  40. package/dist/types/fui/components/Icon/Icon.d.ts +3 -4
  41. package/dist/types/fui/components/Icon/Icon.types.d.ts +2 -1
  42. package/dist/types/fui/components/Image/Image.d.ts +5 -1
  43. package/dist/types/fui/components/Label/Label.d.ts +8 -0
  44. package/dist/types/fui/components/Label/Label.stories.d.ts +6 -0
  45. package/dist/types/fui/components/Label/Label.test.d.ts +1 -0
  46. package/dist/types/fui/components/Label/Label.types.d.ts +4 -0
  47. package/dist/types/fui/components/Label/index.d.ts +1 -0
  48. package/dist/types/fui/components/Link/Link.d.ts +2 -6
  49. package/dist/types/fui/components/List/List.d.ts +4 -5
  50. package/dist/types/fui/components/List/List.types.d.ts +1 -0
  51. package/dist/types/fui/components/ListItem/ListItem.d.ts +3 -4
  52. package/dist/types/fui/components/ListItem/ListItem.types.d.ts +1 -0
  53. package/dist/types/fui/components/Loader/Loader.d.ts +3 -4
  54. package/dist/types/fui/components/Loader/Loader.types.d.ts +1 -0
  55. package/dist/types/fui/components/Notice/Notice.d.ts +5 -1
  56. package/dist/types/fui/components/Radio/Radio.d.ts +5 -0
  57. package/dist/types/fui/components/Radio/Radio.stories.d.ts +6 -0
  58. package/dist/types/fui/components/Radio/Radio.test.d.ts +1 -0
  59. package/dist/types/fui/components/Radio/Radio.types.d.ts +13 -0
  60. package/dist/types/fui/components/Radio/index.d.ts +1 -0
  61. package/dist/types/fui/components/Switch/Switch.d.ts +5 -0
  62. package/dist/types/fui/components/Switch/Switch.stories.d.ts +6 -0
  63. package/dist/types/fui/components/Switch/Switch.test.d.ts +1 -0
  64. package/dist/types/fui/components/Switch/Switch.types.d.ts +7 -0
  65. package/dist/types/fui/components/Switch/index.d.ts +1 -0
  66. package/dist/types/fui/components/TextInput/TextInput.d.ts +5 -0
  67. package/dist/types/fui/components/TextInput/TextInput.stories.d.ts +6 -0
  68. package/dist/types/fui/components/TextInput/TextInput.test.d.ts +1 -0
  69. package/dist/types/fui/components/TextInput/TextInput.types.d.ts +35 -0
  70. package/dist/types/fui/components/TextInput/index.d.ts +1 -0
  71. package/dist/types/fui/components/index.d.ts +2 -0
  72. package/dist/types/fui/hooks/useTheme.d.ts +1 -0
  73. package/package.json +2 -4
@@ -1,2 +1,2 @@
1
- [multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],input:where(:not([type])),select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,input:where(:not([type])):focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--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);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple],[size]:where(select:not([size="1"])){background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=checkbox]:checked{-webkit-appearance:auto;appearance:auto}}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 16 16' fill='%23fff' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}@media (forced-colors:active) {[type=radio]:checked{-webkit-appearance:auto;appearance:auto}}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}@media (forced-colors:active) {[type=checkbox]:indeterminate{-webkit-appearance:auto;appearance:auto}}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(16 35 59/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));font-family:ProximaNova-Regular,serif}:is(.dark body){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(16 35 59/var(--tw-bg-opacity));color:rgb(238 238 238/var(--tw-text-opacity))}*,: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:#3b82f680;--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: }::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:#3b82f680;--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: }.container{width:100%}@media (min-width:480px){.container{max-width:480px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:976px){.container{max-width:976px}}@media (min-width:1440px){.container{max-width:1440px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.relative{position:relative}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.-ml-1{margin-left:-.25rem}.mb-0{margin-bottom:0}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-40{margin-bottom:10rem}.mb-8{margin-bottom:2rem}.mr-3{margin-right:.75rem}.mt-6{margin-top:1.5rem}.inline{display:inline}.flex{display:flex}.grid{display:grid}.list-item{display:list-item}.h-10{height:2.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-auto{height:auto}.w-10{width:2.5rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.max-w-5xl{max-width:64rem}.flex-1{flex:1 1 0%}.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{animation:spin 1s linear infinite}.auto-cols-auto{grid-auto-columns:auto}.auto-rows-min{grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-around{justify-content:space-around}.gap-2{gap:.5rem}.gap-x-4{column-gap:1rem}.gap-y-0{row-gap:0}.gap-y-16{row-gap:4rem}.gap-y-2{row-gap:.5rem}.gap-y-24{row-gap:6rem}.gap-y-4{row-gap:1rem}.gap-y-40{row-gap:10rem}.gap-y-8{row-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(2px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(2px*var(--tw-divide-x-reverse))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-solid{border-style:solid}.border-dark-body-text{--tw-border-opacity:1;border-color:rgb(238 238 238/var(--tw-border-opacity))}.border-primary{--tw-border-opacity:1;border-color:rgb(0 47 108/var(--tw-border-opacity))}.border-primary-darker{--tw-border-opacity:1;border-color:rgb(0 42 97/var(--tw-border-opacity))}.border-secondary{--tw-border-opacity:1;border-color:rgb(252 183 0/var(--tw-border-opacity))}.border-secondary-darker{--tw-border-opacity:1;border-color:rgb(227 165 0/var(--tw-border-opacity))}.border-tertiary{--tw-border-opacity:1;border-color:rgb(42 61 130/var(--tw-border-opacity))}.border-tertiary-darker{--tw-border-opacity:1;border-color:rgb(38 55 117/var(--tw-border-opacity))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(0 47 108/var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity:1;background-color:rgb(252 183 0/var(--tw-bg-opacity))}.bg-tertiary{--tw-bg-opacity:1;background-color:rgb(42 61 130/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.p-0{padding: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-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-40{padding-bottom:10rem;padding-top:10rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pl-3{padding-left:.75rem}.pr-3{padding-right:.75rem}.font-heading{font-family:ProximaNova-Bold,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.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-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.leading-5{line-height:1.25rem}.text-black{color:rgb(0 0 0/var(--tw-text-opacity))}.text-black,.text-white{--tw-text-opacity:1}.text-white{color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.hover\:border-primary-darker:hover{--tw-border-opacity:1;border-color:rgb(0 42 97/var(--tw-border-opacity))}.hover\:border-secondary-darker:hover{--tw-border-opacity:1;border-color:rgb(227 165 0/var(--tw-border-opacity))}.hover\:border-tertiary-darker:hover{--tw-border-opacity:1;border-color:rgb(38 55 117/var(--tw-border-opacity))}.hover\:bg-primary-darker:hover{--tw-bg-opacity:1;background-color:rgb(0 42 97/var(--tw-bg-opacity))}.hover\:bg-secondary-darker:hover{--tw-bg-opacity:1;background-color:rgb(227 165 0/var(--tw-bg-opacity))}.hover\:bg-tertiary-darker:hover{--tw-bg-opacity:1;background-color:rgb(38 55 117/var(--tw-bg-opacity))}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}:is(.dark .dark\:border-dark-body-text){--tw-border-opacity:1;border-color:rgb(238 238 238/var(--tw-border-opacity))}
1
+ body{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(0 30 90/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity));font-family:ProximaNova-Regular,serif}:is(.dark body){--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(0 30 90/var(--tw-bg-opacity));color:rgb(238 238 238/var(--tw-text-opacity))}*,: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:#3b82f680;--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: }::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:#3b82f680;--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: }.container{width:100%}@media (min-width:480px){.container{max-width:480px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:976px){.container{max-width:976px}}@media (min-width:1440px){.container{max-width:1440px}}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-y-0{bottom:0;top:0}.left-0{left:0}.left-auto{left:auto}.right-0{right:0}.start-3{inset-inline-start:.75rem}.top-0{top:0}.z-10{z-index:10}.m-0{margin:0}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:0;margin-top:0}.-ml-1{margin-left:-.25rem}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.25rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-24{margin-bottom:6rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-40{margin-bottom:10rem}.mb-8{margin-bottom:2rem}.mr-3{margin-right:.75rem}.mt-6{margin-top:1.5rem}.box-border{box-sizing:border-box}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.list-item{display:list-item}.hidden{display:none}.h-10{height:2.5rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-auto{height:auto}.h-full{height:100%}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-full{width:100%}.min-w-0{min-width:0}.max-w-5xl{max-width:64rem}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.shrink-0{flex-shrink:0}.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{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.appearance-none{-webkit-appearance:none;appearance:none}.auto-cols-auto{grid-auto-columns:auto}.auto-rows-min{grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-2{gap:.5rem}.gap-x-4{column-gap:1rem}.gap-y-0{row-gap:0}.gap-y-16{row-gap:4rem}.gap-y-2{row-gap:.5rem}.gap-y-24{row-gap:6rem}.gap-y-4{row-gap:1rem}.gap-y-40{row-gap:10rem}.gap-y-8{row-gap:2rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-x-3>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.75rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.75rem*var(--tw-space-x-reverse))}.space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.divide-x-2>:not([hidden])~:not([hidden]){--tw-divide-x-reverse:0;border-left-width:calc(2px*(1 - var(--tw-divide-x-reverse)));border-right-width:calc(2px*var(--tw-divide-x-reverse))}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-0{border-width:0}.border-b{border-bottom-width:1px}.border-solid{border-style:solid}.border-none{border-style:none}.border-dark-body-text{--tw-border-opacity:1;border-color:rgb(238 238 238/var(--tw-border-opacity))}.border-primary{--tw-border-opacity:1;border-color:rgb(0 30 90/var(--tw-border-opacity))}.border-primary-darker{--tw-border-opacity:1;border-color:rgb(0 27 81/var(--tw-border-opacity))}.border-secondary{--tw-border-opacity:1;border-color:rgb(252 183 0/var(--tw-border-opacity))}.border-secondary-darker{--tw-border-opacity:1;border-color:rgb(227 165 0/var(--tw-border-opacity))}.border-tertiary{--tw-border-opacity:1;border-color:rgb(163 176 202/var(--tw-border-opacity))}.border-tertiary-darker{--tw-border-opacity:1;border-color:rgb(140 156 189/var(--tw-border-opacity))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(0 30 90/var(--tw-bg-opacity))}.bg-secondary{--tw-bg-opacity:1;background-color:rgb(252 183 0/var(--tw-bg-opacity))}.bg-tertiary{--tw-bg-opacity:1;background-color:rgb(163 176 202/var(--tw-bg-opacity))}.bg-transparent{background-color:initial}.bg-none{background-image:none}.bg-clip-padding{background-clip:padding-box}.p-0{padding:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-11{padding-left:2.75rem;padding-right:2.75rem}.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-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-40{padding-bottom:10rem;padding-top:10rem}.py-8{padding-bottom:2rem;padding-top:2rem}.pb-2{padding-bottom:.5rem}.pb-8{padding-bottom:2rem}.pl-12{padding-left:3rem}.pl-2{padding-left:.5rem}.pl-3{padding-left:.75rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.ps-3{padding-inline-start:.75rem}.pt-6{padding-top:1.5rem}.font-heading{font-family:ProximaNova-Bold,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.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-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.italic{font-style:italic}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.text-black{color:rgb(0 0 0/var(--tw-text-opacity))}.text-black,.text-white{--tw-text-opacity:1}.text-white{color:rgb(255 255 255/var(--tw-text-opacity))}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.\!outline{outline-style:solid!important}.outline{outline-style:solid}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}@layer component{.form{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color);background-color:#0000001a;border-radius:.25rem;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow);display:flex;flex-direction:column}:is(.dark .form){background-color:#0003}.form-item{--tw-border-opacity:1;-webkit-appearance:none;appearance:none;background-color:#ffffff1a;border-color:rgb(84 104 144/var(--tw-border-opacity));border-style:solid;border-width:1px;box-sizing:border-box;outline:2px solid #0000;outline-offset:2px}:is(.dark .form-item){--tw-border-opacity:1;background-color:#0000001a;border-color:rgb(51 75 123/var(--tw-border-opacity))}.form-item{color:rgb(84 104 144/var(--tw-text-opacity))}.form-item,.form-item:focus{--tw-text-opacity:1}.form-item:focus{color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .form-item){--tw-text-opacity:1;color:rgb(84 104 144/var(--tw-text-opacity))}:is(.dark .form-item:focus){--tw-text-opacity:1;color:rgb(238 238 238/var(--tw-text-opacity))}.form-item:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}:is(.dark .form-item:focus){--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)!important;--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)!important;--tw-ring-opacity:1!important;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))!important;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)!important}.form-item:invalid{--tw-border-opacity:1;border-color:rgb(248 114 114/var(--tw-border-opacity));border-width:2px}:is(.dark .form-item:invalid){--tw-border-opacity:1;border-color:rgb(248 114 114/var(--tw-border-opacity))}.form-item:disabled{--tw-bg-opacity:1;background-color:rgb(0 30 90/var(--tw-bg-opacity))}:is(.dark .form-item:disabled){--tw-bg-opacity:1;background-color:rgb(0 30 90/var(--tw-bg-opacity))}.label{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .label){--tw-text-opacity:1;color:rgb(138 152 179/var(--tw-text-opacity))}.text-input{border-radius:.25rem;padding:.75rem;width:100%}.text-input:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}:is(.dark .text-input:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}.checkbox{border-radius:.25rem}.checkbox:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}:is(.dark .checkbox:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}.radio{border-radius:9999px}.radio:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}:is(.dark .radio:focus){--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}.form-icon{--tw-text-opacity:1;color:rgb(138 152 179/var(--tw-text-opacity))}:is(.dark .form-icon){--tw-text-opacity:1;color:rgb(138 152 179/var(--tw-text-opacity))}.switch{border-radius:9999px}.peer:checked~.switch{--tw-bg-opacity:1;background-color:rgb(84 104 144/var(--tw-bg-opacity))}.peer:focus~.switch{--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}:is(.dark .switch){--tw-border-opacity:1;border-color:rgb(0 30 90/var(--tw-border-opacity))}:is(.dark .peer:checked~.switch){--tw-bg-opacity:1;background-color:rgb(51 75 123/var(--tw-bg-opacity))}.file-upload::-webkit-file-upload-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(84 104 144/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}.file-upload::file-selector-button{--tw-bg-opacity:1;--tw-text-opacity:1;background-color:rgb(84 104 144/var(--tw-bg-opacity));color:rgb(255 255 255/var(--tw-text-opacity))}:is(.dark .file-upload)::-webkit-file-upload-button{--tw-bg-opacity:1;background-color:rgb(51 75 123/var(--tw-bg-opacity))}:is(.dark .file-upload)::file-selector-button{--tw-bg-opacity:1;background-color:rgb(51 75 123/var(--tw-bg-opacity))}}.file\:mr-3::-webkit-file-upload-button{margin-right:.75rem}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:cursor-pointer::-webkit-file-upload-button{cursor:pointer}.file\:cursor-pointer::file-selector-button{cursor:pointer}.file\:overflow-hidden::-webkit-file-upload-button{overflow:hidden}.file\:overflow-hidden::file-selector-button{overflow:hidden}.file\:rounded-none::-webkit-file-upload-button{border-radius:0}.file\:rounded-none::file-selector-button{border-radius:0}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:border-solid::-webkit-file-upload-button{border-style:solid}.file\:border-solid::file-selector-button{border-style:solid}.file\:border-inherit::-webkit-file-upload-button{border-color:inherit}.file\:border-inherit::file-selector-button{border-color:inherit}.file\:p-3::-webkit-file-upload-button{padding:.75rem}.file\:p-3::file-selector-button{padding:.75rem}.file\:transition::-webkit-file-upload-button{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;-webkit-transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.file\:transition::file-selector-button{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.file\:duration-150::-webkit-file-upload-button{transition-duration:.15s}.file\:duration-150::file-selector-button{transition-duration:.15s}.file\:ease-in-out::-webkit-file-upload-button{transition-timing-function:cubic-bezier(.4,0,.2,1)}.file\:ease-in-out::file-selector-button{transition-timing-function:cubic-bezier(.4,0,.2,1)}.file\:\[border-inline-end-width\:1px\]::-webkit-file-upload-button{border-inline-end-width:1px}.file\:\[border-inline-end-width\:1px\]::file-selector-button{border-inline-end-width:1px}.file\:\[margin-inline-end\:0\.75rem\]::-webkit-file-upload-button{margin-inline-end:.75rem}.file\:\[margin-inline-end\:0\.75rem\]::file-selector-button{margin-inline-end:.75rem}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:start-\[1px\]:after{content:var(--tw-content);inset-inline-start:1px}.after\:top-\[1px\]:after{content:var(--tw-content);top:1px}.after\:h-5:after{content:var(--tw-content);height:1.25rem}.after\:w-5:after{content:var(--tw-content);width:1.25rem}.after\:rounded-full:after{border-radius:9999px;content:var(--tw-content)}.after\:border:after{border-width:1px;content:var(--tw-content)}.after\:bg-white:after{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity));content:var(--tw-content)}.after\:transition-all:after{content:var(--tw-content);transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.hover\:border-primary-darker:hover{--tw-border-opacity:1;border-color:rgb(0 27 81/var(--tw-border-opacity))}.hover\:border-secondary-darker:hover{--tw-border-opacity:1;border-color:rgb(227 165 0/var(--tw-border-opacity))}.hover\:border-tertiary-darker:hover{--tw-border-opacity:1;border-color:rgb(140 156 189/var(--tw-border-opacity))}.hover\:bg-primary-darker:hover{--tw-bg-opacity:1;background-color:rgb(0 27 81/var(--tw-bg-opacity))}.hover\:bg-secondary-darker:hover{--tw-bg-opacity:1;background-color:rgb(227 165 0/var(--tw-bg-opacity))}.hover\:bg-tertiary-darker:hover{--tw-bg-opacity:1;background-color:rgb(140 156 189/var(--tw-bg-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-2:focus{--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);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.active\:scale-95:active{--tw-scale-x:.95;--tw-scale-y:.95;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))}.peer:checked~.peer-checked\:opacity-100{opacity:1}.peer:checked~.peer-checked\:after\:translate-x-full:after{--tw-translate-x:100%;content:var(--tw-content);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))}.peer:checked~.peer-checked\:after\:border-white:after{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity));content:var(--tw-content)}.peer:focus~.peer-focus\:ring-info{--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}.data-\[invalid\=true\]\:bg-error[data-invalid=true]{--tw-bg-opacity:1;background-color:rgb(248 114 114/var(--tw-bg-opacity))}.data-\[valid\]\:bg-success[data-valid]{--tw-bg-opacity:1;background-color:rgb(54 211 153/var(--tw-bg-opacity))}:is(.dark .dark\:border-dark-body-text){--tw-border-opacity:1;border-color:rgb(238 238 238/var(--tw-border-opacity))}:is(.dark .peer:focus~.dark\:peer-focus\:ring-info){--tw-ring-opacity:1;--tw-ring-color:rgb(58 191 248/var(--tw-ring-opacity))}.peer:checked~.rtl\:peer-checked\:after\:-translate-x-full:where([dir=rtl],[dir=rtl] *):after{--tw-translate-x:-100%;content:var(--tw-content);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))}
2
2
  @font-face{font-display:swap;font-family:ProximaNova-Regular;font-style:normal;font-weight:400;src:url(https://cdn.tools.4alldigital.io/fonts/ProximaNovaReg.woff2) format("woff2"),url(https://cdn.tools.4alldigital.io/fonts/ProximaNovaReg.woff) format("woff")}@font-face{font-display:swap;font-family:ProximaNova-Bold;font-style:normal;font-weight:700;src:url(https://cdn.tools.4alldigital.io/fonts/ProximaNovaBold.woff2) format("woff2"),url(https://cdn.tools.4alldigital.io/fonts/ProximaNovaBold.woff) format("woff")}
package/dist/index.esm.js CHANGED
@@ -1,18 +1,37 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import cx from 'classnames';
3
3
  import { Icon as Icon$1 } from '@iconify/react';
4
+ import { useForm, Controller } from 'react-hook-form';
5
+ import React from 'react';
4
6
 
5
7
  var Blockquote = function (_a) {
6
- var text = _a.text, citation = _a.citation, className = _a.className, citationAttribute = _a.citationAttribute, showIcon = _a.showIcon;
8
+ var text = _a.text, citation = _a.citation, className = _a.className, citationAttribute = _a.citationAttribute, _b = _a.showIcon, showIcon = _b === void 0 ? true : _b;
7
9
  var classes = cx('text-xl italic font-bold', className);
8
10
  return (jsxs("blockquote", { "data-testid": "Blockquote", className: classes, children: [showIcon && jsx("svg", { "aria-hidden": "true", className: "w-10 h-10", viewBox: "0 0 24 27", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M14.017 18L14.017 10.609C14.017 4.905 17.748 1.039 23 0L23.995 2.151C21.563 3.068 20 5.789 20 8H24V18H14.017ZM0 18V10.609C0 4.905 3.748 1.038 9 0L9.996 2.151C7.563 3.068 6 5.789 6 8H9.983L9.983 18L0 18Z", fill: "currentColor" }) }), jsx("div", { children: text }), citation && (jsx("figcaption", { className: "flex flex-start items-center mt-6 space-x-3", children: jsxs("div", { className: "flex items-center divide-x-2", children: [jsx("cite", { className: "pr-3 font-medium", children: citation }), citationAttribute && jsx("cite", { className: "pl-3 text-sm font-light", children: citationAttribute })] }) }))] }));
9
11
  };
10
- Blockquote.defaultProps = {
11
- showIcon: true,
12
- };
12
+ Blockquote.displayName = 'Blockquote';
13
+
14
+ var BTN_TYPES;
15
+ (function (BTN_TYPES) {
16
+ BTN_TYPES["SUBMIT"] = "submit";
17
+ BTN_TYPES["RESET"] = "reset";
18
+ BTN_TYPES["BUTTON"] = "button";
19
+ })(BTN_TYPES || (BTN_TYPES = {}));
20
+ var BTN_VARIANTS;
21
+ (function (BTN_VARIANTS) {
22
+ BTN_VARIANTS["PRIMARY"] = "primary";
23
+ BTN_VARIANTS["SECONDARY"] = "secondary";
24
+ BTN_VARIANTS["TERTIARY"] = "tertiary";
25
+ })(BTN_VARIANTS || (BTN_VARIANTS = {}));
26
+ var BTN_SIZES;
27
+ (function (BTN_SIZES) {
28
+ BTN_SIZES["SMALL"] = "small";
29
+ BTN_SIZES["MEDIUM"] = "medium";
30
+ BTN_SIZES["LARGE"] = "large";
31
+ })(BTN_SIZES || (BTN_SIZES = {}));
13
32
 
14
33
  var Button = function (_a) {
15
- var variant = _a.variant, size = _a.size, uppercase = _a.uppercase, children = _a.children, id = _a.id, type = _a.type, disabled = _a.disabled, ariaLabel = _a.ariaLabel, onClick = _a.onClick, icon = _a.icon, external = _a.external, iconFirst = _a.iconFirst, raised = _a.raised, outline = _a.outline, wide = _a.wide, rounded = _a.rounded, testID = _a.testID;
34
+ var _b = _a.variant, variant = _b === void 0 ? BTN_VARIANTS.PRIMARY : _b, _c = _a.size, size = _c === void 0 ? BTN_SIZES.MEDIUM : _c, _d = _a.type, type = _d === void 0 ? BTN_TYPES.BUTTON : _d, _e = _a.wide, wide = _e === void 0 ? true : _e, _f = _a.rounded, rounded = _f === void 0 ? true : _f, _g = _a.raised, raised = _g === void 0 ? true : _g, uppercase = _a.uppercase, children = _a.children, id = _a.id, disabled = _a.disabled, ariaLabel = _a.ariaLabel, onClick = _a.onClick, icon = _a.icon, external = _a.external, iconFirst = _a.iconFirst, outline = _a.outline, testID = _a.testID, className = _a.className;
16
35
  var smallX = wide ? 'px-5' : 'px-3';
17
36
  var mediumX = wide ? 'px-8' : 'px-4';
18
37
  var largeX = wide ? 'px-11' : 'px-5';
@@ -36,69 +55,59 @@ var Button = function (_a) {
36
55
  y: 'py-3',
37
56
  space: 'space-x-4',
38
57
  text: 'text-lg',
39
- icon: 'w-6 h-6'
58
+ icon: 'w-6 h-6',
40
59
  },
41
60
  };
42
- var classes = cx('font-bold flex items-center transition-all duration-200 transform active:scale-95 justify-around border-solid border rounded', { 'text-white border-primary hover:bg-primary-darker hover:border-primary-darker': variant === 'primary' }, { 'text-white border-secondary hover:bg-secondary-darker hover:border-secondary-darker': variant === 'secondary' }, { 'text-black border-tertiary hover:bg-tertiary-darker hover:border-tertiary-darker': variant === 'tertiary' }, { 'bg-primary': variant === 'primary' && !outline }, { 'bg-secondary': variant === 'secondary' && !outline }, { 'bg-tertiary': variant === 'tertiary' && !outline }, { 'bg-transparent': outline }, { shadow: raised }, { uppercase: uppercase }, { 'auto-cols-auto grid-cols-2 gap-2': icon || external }, { 'rounded-full': rounded }, { 'flex-row-reverse': iconFirst }, "".concat(sizes[size].y, " ").concat(sizes[size].x, " ").concat(sizes[size].text));
61
+ var classes = cx('font-bold flex items-center transition-all duration-200 transform active:scale-95 justify-around border-solid border rounded cursor-pointer focus:outline-none', { 'text-white border-primary hover:bg-primary-darker hover:border-primary-darker': variant === 'primary' }, { 'text-white border-secondary hover:bg-secondary-darker hover:border-secondary-darker': variant === 'secondary' }, { 'text-black border-tertiary hover:bg-tertiary-darker hover:border-tertiary-darker': variant === 'tertiary' }, { 'bg-primary': variant === 'primary' && !outline }, { 'bg-secondary': variant === 'secondary' && !outline }, { 'bg-tertiary': variant === 'tertiary' && !outline }, { 'bg-transparent': outline }, { shadow: raised }, { uppercase: uppercase }, { 'auto-cols-auto grid-cols-2 gap-2': icon || external }, { 'rounded-full': rounded }, { 'flex-row-reverse': iconFirst }, "".concat(sizes[size].y, " ").concat(sizes[size].x, " ").concat(sizes[size].text), className);
43
62
  var iconClasses = cx(sizes[size].icon);
44
- return (jsx("button", { id: id, "data-testid": testID || id || "Button", onClick: onClick, className: classes, type: type, disabled: disabled, "aria-label": ariaLabel, role: "button", children: jsxs(Fragment, { children: [children, icon && !external && (jsx("span", { className: "flex items-center", children: jsx(Icon$1, { icon: icon, className: iconClasses }) })), external && (jsx("span", { className: "flex items-center", children: jsx(Icon$1, { icon: "carbon:launch", className: iconClasses }) }))] }) }));
45
- };
46
- Button.defaultProps = {
47
- variant: 'primary',
48
- size: 'medium',
49
- type: 'button',
50
- raised: true,
51
- wide: true,
52
- rounded: true,
63
+ return (jsx("button", { id: id, "data-testid": testID || id || 'Button', onClick: onClick, className: classes, type: type, disabled: disabled, "aria-label": ariaLabel, role: "button", children: jsxs(Fragment, { children: [children, icon && !external && (jsx("span", { className: "flex items-center", children: jsx(Icon$1, { icon: icon, className: iconClasses }) })), external && (jsx("span", { className: "flex items-center", children: jsx(Icon$1, { icon: "carbon:launch", className: iconClasses }) }))] }) }));
53
64
  };
65
+ Button.displayName = 'Button';
54
66
 
55
- var Align;
56
- (function (Align) {
57
- Align["LEFT"] = "left";
58
- Align["CENTER"] = "center";
59
- Align["RIGHT"] = "right";
60
- Align["JUSTIFY"] = "justify";
61
- Align["NOWRAP"] = "nowrap";
62
- })(Align || (Align = {}));
63
- var Transform;
64
- (function (Transform) {
65
- Transform["LOWERCASE"] = "lowercase";
66
- Transform["UPPERCASE"] = "uppercase";
67
- Transform["CAPITALIZE"] = "capitalize";
68
- Transform["NORMALCASE"] = "normal-case";
69
- })(Transform || (Transform = {}));
70
- var Contextual;
71
- (function (Contextual) {
72
- Contextual["INVERTED"] = "inverted";
73
- Contextual["MUTED"] = "muted";
74
- })(Contextual || (Contextual = {}));
75
- var Size;
76
- (function (Size) {
77
- Size["SMALL"] = "small";
78
- Size["LARGE"] = "large";
79
- Size["INTRO"] = "intro";
80
- })(Size || (Size = {}));
81
- var Tag;
82
- (function (Tag) {
83
- Tag["P"] = "p";
84
- Tag["DIV"] = "div";
85
- Tag["SMALL"] = "small";
86
- })(Tag || (Tag = {}));
67
+ var ALIGN;
68
+ (function (ALIGN) {
69
+ ALIGN["LEFT"] = "left";
70
+ ALIGN["CENTER"] = "center";
71
+ ALIGN["RIGHT"] = "right";
72
+ ALIGN["JUSTIFY"] = "justify";
73
+ ALIGN["NOWRAP"] = "nowrap";
74
+ })(ALIGN || (ALIGN = {}));
75
+ var TRANSFORM;
76
+ (function (TRANSFORM) {
77
+ TRANSFORM["LOWERCASE"] = "lowercase";
78
+ TRANSFORM["UPPERCASE"] = "uppercase";
79
+ TRANSFORM["CAPITALIZE"] = "capitalize";
80
+ TRANSFORM["NORMALCASE"] = "normal-case";
81
+ })(TRANSFORM || (TRANSFORM = {}));
82
+ var CONTEXTUAL;
83
+ (function (CONTEXTUAL) {
84
+ CONTEXTUAL["INVERTED"] = "inverted";
85
+ CONTEXTUAL["MUTED"] = "muted";
86
+ })(CONTEXTUAL || (CONTEXTUAL = {}));
87
+ var SIZE$1;
88
+ (function (SIZE) {
89
+ SIZE["SMALL"] = "small";
90
+ SIZE["LARGE"] = "large";
91
+ SIZE["INTRO"] = "intro";
92
+ })(SIZE$1 || (SIZE$1 = {}));
93
+ var TAG;
94
+ (function (TAG) {
95
+ TAG["P"] = "p";
96
+ TAG["SPAN"] = "span";
97
+ TAG["DIV"] = "div";
98
+ TAG["SMALL"] = "small";
99
+ })(TAG || (TAG = {}));
87
100
 
88
101
  var Copy = function (_a) {
89
102
  var _b;
90
- var children = _a.children, Tag = _a.tag, size = _a.size, align = _a.align, transform = _a.transform, id = _a.id, testID = _a.testID;
103
+ var children = _a.children, _c = _a.as, Tag = _c === void 0 ? TAG.P : _c, size = _a.size, _d = _a.align, align = _d === void 0 ? ALIGN.LEFT : _d, transform = _a.transform, id = _a.id, testID = _a.testID;
91
104
  var classes = cx((_b = {}, _b["text-".concat(align)] = align, _b), { 'text-sm': size === 'small' }, { 'text-lg': size === 'large' }, { 'text-2xl': size === 'intro' }, { 'mb-3 leading-5': Tag === 'p' }, { 'text-sm': Tag === 'small' }, 'body-text', transform);
92
- return jsx(Tag, { "data-testid": testID || id || "Copy", className: classes, children: children });
93
- };
94
- Copy.defaultProps = {
95
- inverted: false,
96
- maxLength: false,
97
- tag: Tag.DIV,
98
- align: Align.LEFT,
105
+ return (jsx(Tag, { "data-testid": testID || id || 'Copy', className: classes, children: children }));
99
106
  };
107
+ Copy.displayName = 'Copy';
100
108
 
101
109
  var Hr = function () { return (jsx("hr", { className: cx('border-0 border-b border-dark-body-text dark:border-dark-body-text') })); };
110
+ Hr.displayName = 'Hr';
102
111
 
103
112
  var HeadingTag;
104
113
  (function (HeadingTag) {
@@ -126,7 +135,7 @@ var HeadingTransform;
126
135
 
127
136
  var Heading = function (_a) {
128
137
  var _b;
129
- var children = _a.children, tag = _a.tag, transform = _a.transform, align = _a.align, id = _a.id, testID = _a.testID, flush = _a.flush, className = _a.className;
138
+ var children = _a.children, _c = _a.tag, tag = _c === void 0 ? HeadingTag.H1 : _c, transform = _a.transform, align = _a.align, id = _a.id, testID = _a.testID, flush = _a.flush, className = _a.className;
130
139
  var fontSize = function () {
131
140
  switch (tag) {
132
141
  case 'h1':
@@ -148,27 +157,24 @@ var Heading = function (_a) {
148
157
  var classes = cx("font-heading font-bold ".concat(size), (_b = {}, _b["text-".concat(align)] = align, _b), { 'm-0': flush }, transform, className);
149
158
  return (jsx(Tag, { "data-testid": testID || id || 'Heading', className: classes, children: children }));
150
159
  };
151
- Heading.defaultProps = {
152
- tag: HeadingTag.H1,
153
- };
160
+ Heading.displayName = 'Heading';
154
161
 
155
162
  /**
156
163
  * Icon component
157
164
  * List of supported icons can be found at https://icon-sets.iconify.design.
158
165
  */
159
166
  var Icon = function (_a) {
160
- var name = _a.name, size = _a.size, color = _a.color, id = _a.id, testID = _a.testID;
167
+ var name = _a.name, _b = _a.size, size = _b === void 0 ? 24 : _b, color = _a.color, id = _a.id, className = _a.className, testID = _a.testID;
168
+ console.log('Icon name', name, color);
161
169
  if (color) {
162
- return jsx(Icon$1, { "data-testid": testID || id || "Icon", icon: name, width: size, height: size, color: color });
170
+ return (jsx(Icon$1, { "data-testid": testID || id || 'Icon', icon: name, width: size, height: size, color: color, className: className, fill: color || 'currentColor' }));
163
171
  }
164
- return jsx(Icon$1, { "data-testid": testID || id || "Icon", icon: name, width: size, height: size, className: cx('fill-current') });
165
- };
166
- Icon.defaultProps = {
167
- size: 24,
172
+ return (jsx(Icon$1, { "data-testid": testID || id || 'Icon', icon: name, width: size, height: size }));
168
173
  };
174
+ Icon.displayName = 'Icon';
169
175
 
170
176
  var Image = function (_a) {
171
- var src = _a.src, alt = _a.alt, title = _a.title, caption = _a.caption, figure = _a.figure, onLoad = _a.onLoad, id = _a.id, className = _a.className, testID = _a.testID;
177
+ var src = _a.src, alt = _a.alt, title = _a.title, caption = _a.caption, _b = _a.figure, figure = _b === void 0 ? false : _b, onLoad = _a.onLoad, id = _a.id, className = _a.className, testID = _a.testID;
172
178
  var figureClasses = cx('m-0');
173
179
  var classes = cx('w-full h-auto', className);
174
180
  /**
@@ -182,9 +188,10 @@ var Image = function (_a) {
182
188
  */
183
189
  return jsx("img", { "data-testid": testID || id || "Image", onLoad: onLoad, src: src, alt: alt, title: title, className: classes });
184
190
  };
191
+ Image.displayName = 'Image';
185
192
 
186
193
  var Link = function (_a) {
187
- var href = _a.href, children = _a.children, onClick = _a.onClick, history = _a.history, target = _a.target, id = _a.id, testID = _a.testID, className = _a.className;
194
+ var href = _a.href, children = _a.children, _b = _a.onClick, onClick = _b === void 0 ? function () { return console.log('Link clicked'); } : _b, history = _a.history, target = _a.target, id = _a.id, testID = _a.testID, className = _a.className;
188
195
  var handleClick = function (event) {
189
196
  if (onClick) {
190
197
  onClick(event);
@@ -201,12 +208,7 @@ var Link = function (_a) {
201
208
  var classes = cx('link', className);
202
209
  return (jsx("a", { "data-testid": testID || id || 'Link', className: classes, href: href, onClick: handleClick, target: target, children: children }));
203
210
  };
204
- Link.defaultProps = {
205
- href: undefined,
206
- onClick: function () { return console.log('Link clicked'); },
207
- history: undefined,
208
- target: undefined,
209
- };
211
+ Link.displayName = 'Link';
210
212
 
211
213
  var Variants;
212
214
  (function (Variants) {
@@ -227,51 +229,56 @@ var ListTag;
227
229
  })(ListTag || (ListTag = {}));
228
230
 
229
231
  var List = function (_a) {
230
- var variants = _a.variants, children = _a.children, as = _a.as, id = _a.id, testID = _a.testID;
231
- var modifiers = variants
232
- ? variants.map(function (el) { return "list--".concat(el); })
233
- : null;
232
+ var variants = _a.variants, children = _a.children, _b = _a.as, as = _b === void 0 ? ListTag.UL : _b, id = _a.id, testID = _a.testID, className = _a.className;
233
+ var modifiers = variants ? variants.map(function (el) { return "list--".concat(el); }) : null;
234
234
  var Tag = as;
235
- return jsx(Tag, { "data-testid": testID || id || "List", className: cx(modifiers), children: children });
236
- };
237
- List.defaultProps = {
238
- as: ListTag.UL,
235
+ return (jsx(Tag, { "data-testid": testID || id || 'List', className: cx(modifiers, className), children: children }));
239
236
  };
237
+ List.displayName = 'List';
240
238
 
241
239
  var ListItem = function (_a) {
242
- var children = _a.children, Tag = _a.as, id = _a.id, testID = _a.testID;
243
- return jsx(Tag, { "data-testid": testID || id || "ListItem", className: cx('list-item'), children: children });
244
- };
245
- ListItem.defaultProps = {
246
- as: 'li',
240
+ var children = _a.children, _b = _a.as, Tag = _b === void 0 ? 'li' : _b, id = _a.id, testID = _a.testID, className = _a.className;
241
+ return (jsx(Tag, { "data-testid": testID || id || 'ListItem', className: cx('list-item', className), children: children }));
247
242
  };
243
+ ListItem.displayName = 'ListItem';
248
244
 
249
245
  var Notice = function (_a) {
250
- var foo = _a.foo, id = _a.id, testID = _a.testID;
251
- return (jsx("div", { "data-testid": testID || id || "Notice", className: "foo-bar", children: foo }));
246
+ var _b = _a.foo, foo = _b === void 0 ? 'bar' : _b, id = _a.id, testID = _a.testID;
247
+ return (jsx("div", { "data-testid": testID || id || 'Notice', className: "foo-bar", children: foo }));
252
248
  };
249
+ Notice.displayName = 'Notice';
253
250
 
254
251
  var Loader = function (_a) {
255
- var size = _a.size;
252
+ var color = _a.color, _b = _a.size, size = _b === void 0 ? 8 : _b, _c = _a.thickness, thickness = _c === void 0 ? 4 : _c;
256
253
  var sizeClass = size ? "w-".concat(size, " h-").concat(size) : 'w-8 h-8';
257
- return (jsx("div", { "data-testid": "Loader", children: jsxs("div", { role: "status", children: [jsxs("svg", { className: "animate-spin -ml-1 mr-3 ".concat(sizeClass, " text-white"), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: "currentColor", strokeWidth: "4" }), jsx("path", { className: "opacity-75", fill: "currentColor", d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), jsx("span", { className: "sr-only", children: "Loading..." })] }) }));
258
- };
259
- Loader.defaultProps = {
260
- size: 8,
254
+ return (jsx("div", { "data-testid": "Loader", children: jsxs("div", { role: "status", children: [jsxs("svg", { className: "animate-spin -ml-1 mr-3 ".concat(sizeClass, " text-white"), xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", children: [jsx("circle", { className: "opacity-25", cx: "12", cy: "12", r: "10", stroke: color || 'currentColor', strokeWidth: thickness }), jsx("path", { className: "opacity-75", fill: color || 'currentColor', d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z" })] }), jsx("span", { className: "sr-only", children: "Loading..." })] }) }));
261
255
  };
256
+ Loader.displayName = 'Loader';
262
257
 
263
258
  var Container = function (_a) {
264
- var children = _a.children, className = _a.className, spacing = _a.spacing;
265
- var classes = cx('container', 'mx-auto', 'my-0', 'px-4', { 'py-40': spacing === 'feature' }, { 'py-24': spacing === 'component' }, { 'py-16': spacing === 'module' }, { 'py-10': spacing === 'element' }, { 'py-4': spacing === 'atom' }, { 'py-0': spacing === 'none' }, className);
259
+ var children = _a.children, className = _a.className, spacing = _a.spacing, padded = _a.padded;
260
+ var classes = cx('container', 'mx-auto', 'my-0', { 'px-4': padded }, { 'py-40': spacing === 'feature' }, { 'py-24': spacing === 'component' }, { 'py-16': spacing === 'module' }, { 'py-10': spacing === 'element' }, { 'py-4': spacing === 'atom' }, { 'py-0': spacing === 'none' }, className);
266
261
  return (jsx("div", { "data-testid": "Container", className: classes, children: children }));
267
262
  };
268
- Container.defaultProps = {};
263
+ Container.displayName = 'Container';
264
+
265
+ var SPACING;
266
+ (function (SPACING) {
267
+ SPACING["NONE"] = "none";
268
+ SPACING["ATOM"] = "atom";
269
+ SPACING["DEFAULT"] = "default";
270
+ SPACING["ELEMENT"] = "element";
271
+ SPACING["COMPONENT"] = "component";
272
+ SPACING["MODULE"] = "module";
273
+ SPACING["FEATURE"] = "feature";
274
+ })(SPACING || (SPACING = {}));
269
275
 
270
276
  var ContentPageLayout = function (_a) {
271
- var children = _a.children, spacing = _a.spacing, narrow = _a.narrow, flush = _a.flush, className = _a.className;
277
+ var _b = _a.spacing, spacing = _b === void 0 ? SPACING.DEFAULT : _b, children = _a.children, narrow = _a.narrow, flush = _a.flush, className = _a.className;
272
278
  var classes = cx('flex', 'flex-col', 'flex-1', 'relative', { 'py-40': spacing === 'feature' }, { 'py-24': spacing === 'component' }, { 'py-16': spacing === 'module' }, { 'py-10': spacing === 'element' }, { 'py-8': spacing === 'default' }, { 'py-4': spacing === 'atom' }, { 'py-0': spacing === 'none' }, { 'max-w-5xl': narrow }, { 'p-0': flush }, className);
273
279
  return (jsx("div", { "data-testid": "ContentPageLayout", className: classes, children: children }));
274
280
  };
281
+ ContentPageLayout.displayName = 'ContentPageLayout';
275
282
 
276
283
  var SIZE;
277
284
  (function (SIZE) {
@@ -285,12 +292,210 @@ var SIZE;
285
292
  })(SIZE || (SIZE = {}));
286
293
 
287
294
  var ContentRowsLayout = function (_a) {
288
- var className = _a.className, children = _a.children, size = _a.size;
295
+ var className = _a.className, children = _a.children, _b = _a.size, size = _b === void 0 ? SIZE.DEFAULT : _b;
289
296
  var classes = cx('grid', 'auto-rows-min', 'grid-cols-1', 'gap-x-4', { 'gap-y-0 mb-0': size === 'none' }, { 'gap-y-2 mb-2': size === 'atom' }, { 'gap-y-4 mb-4': size === 'default' }, { 'gap-y-8 mb-8': size === 'element' }, { 'gap-y-16 mb-16': size === 'module' }, { 'gap-y-24 mb-24': size === 'component' }, { 'gap-y-40 mb-40': size === 'feature' }, className);
290
297
  return (jsx("div", { "data-testid": "ContentRowsLayout", className: classes, children: children }));
291
298
  };
292
- ContentRowsLayout.defaultProps = {
293
- size: SIZE.DEFAULT,
299
+ ContentRowsLayout.displayName = 'ContentRowsLayout';
300
+
301
+ var Form = function (_a) {
302
+ var children = _a.children, className = _a.className, submit = _a.submit, onSubmit = _a.onSubmit, hideSubmit = _a.hideSubmit, ariaSubmitLabel = _a.ariaSubmitLabel, submitID = _a.submitID, initialValues = _a.initialValues, _b = _a.submitVariant, submitVariant = _b === void 0 ? BTN_VARIANTS.PRIMARY : _b;
303
+ var _c = useForm({
304
+ defaultValues: initialValues,
305
+ }), handleSubmit = _c.handleSubmit, formState = _c.formState;
306
+ var submitClasses = cx({ 'sr-only': hideSubmit });
307
+ console.log('FORM formState', formState);
308
+ return (jsx("div", { "data-testid": "Form", className: "w-full max-w-s @form @containers", children: jsxs("form", { onSubmit: handleSubmit(onSubmit), className: cx('form px-8 pt-6 pb-8 mb-4 w-2xs', className), children: [children, jsx("div", { className: 'flex items-center justify-end py-2', children: jsx(Button, { id: submitID || submit, className: submitClasses, ariaLabel: ariaSubmitLabel || submit || 'Submit', type: BTN_TYPES.SUBMIT, variant: submitVariant, children: submit }) })] }) }));
309
+ };
310
+ Form.displayName = 'Form';
311
+
312
+ /******************************************************************************
313
+ Copyright (c) Microsoft Corporation.
314
+
315
+ Permission to use, copy, modify, and/or distribute this software for any
316
+ purpose with or without fee is hereby granted.
317
+
318
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
319
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
320
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
321
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
322
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
323
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
324
+ PERFORMANCE OF THIS SOFTWARE.
325
+ ***************************************************************************** */
326
+ /* global Reflect, Promise, SuppressedError, Symbol */
327
+
328
+
329
+ var __assign = function() {
330
+ __assign = Object.assign || function __assign(t) {
331
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
332
+ s = arguments[i];
333
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
334
+ }
335
+ return t;
336
+ };
337
+ return __assign.apply(this, arguments);
338
+ };
339
+
340
+ function __rest(s, e) {
341
+ var t = {};
342
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
343
+ t[p] = s[p];
344
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
345
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
346
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
347
+ t[p[i]] = s[p[i]];
348
+ }
349
+ return t;
350
+ }
351
+
352
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
353
+ var e = new Error(message);
354
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
355
+ };
356
+
357
+ var FieldTypes;
358
+ (function (FieldTypes) {
359
+ FieldTypes["TEXT"] = "text";
360
+ FieldTypes["TEXTAREA"] = "textarea";
361
+ FieldTypes["SELECT"] = "select";
362
+ FieldTypes["CHECKBOX"] = "checkbox";
363
+ FieldTypes["RADIO"] = "radio";
364
+ FieldTypes["SWITCH"] = "switch";
365
+ FieldTypes["DATE"] = "date";
366
+ FieldTypes["TIME"] = "time";
367
+ FieldTypes["DATETIME"] = "datetime";
368
+ FieldTypes["FILE"] = "file";
369
+ FieldTypes["PASSWORD"] = "password";
370
+ FieldTypes["EMAIL"] = "email";
371
+ FieldTypes["NUMBER"] = "number";
372
+ FieldTypes["TEL"] = "tel";
373
+ FieldTypes["URL"] = "url";
374
+ FieldTypes["SEARCH"] = "search";
375
+ // MONTH = 'month',
376
+ // WEEK = 'week',
377
+ // HIDDEN = 'hidden',
378
+ // COLOR = 'color',
379
+ // RANGE = 'range',
380
+ // CURRENCY = 'currency',
381
+ // PERCENT = 'percent',
382
+ })(FieldTypes || (FieldTypes = {}));
383
+
384
+ var InputType;
385
+ (function (InputType) {
386
+ InputType["TEXT"] = "text";
387
+ InputType["PASSWORD"] = "password";
388
+ InputType["EMAIL"] = "email";
389
+ InputType["NUMBER"] = "number";
390
+ InputType["TEL"] = "tel";
391
+ InputType["URL"] = "url";
392
+ InputType["SEARCH"] = "search";
393
+ InputType["DATE"] = "date";
394
+ InputType["TIME"] = "time";
395
+ InputType["DATETIME"] = "datetime-local";
396
+ InputType["MONTH"] = "month";
397
+ InputType["WEEK"] = "week";
398
+ InputType["FILE"] = "file";
399
+ InputType["TEXTAREA"] = "textarea";
400
+ })(InputType || (InputType = {}));
401
+
402
+ var TextInput = React.forwardRef(function MyInput(_a, ref) {
403
+ var _b = _a.type, type = _b === void 0 ? InputType.TEXT : _b, required = _a.required, className = _a.className, onChange = _a.onChange, placeholder = _a.placeholder, icon = _a.icon, disabled = _a.disabled, rest = __rest(_a, ["type", "required", "className", "onChange", "placeholder", "icon", "disabled"]);
404
+ React.useEffect(function () {
405
+ if (typeof window !== 'undefined') {
406
+ // eslint-disable-next-line global-require
407
+ require('date-input-polyfill');
408
+ }
409
+ }, []);
410
+ var format = 'dd/mm/yyyy';
411
+ var placeholderSet = type === 'date' ? format.toUpperCase() : placeholder;
412
+ if (type === InputType.TEXTAREA) {
413
+ return (jsx("div", { "data-testid": "TextInput", className: "relative", children: jsx("textarea", __assign({ ref: ref, required: required, "aria-required": required, disabled: disabled, placeholder: placeholderSet, onChange: onChange, rows: 4, className: cx('form-item text-input resize-none', className) }, rest)) }));
414
+ }
415
+ return (jsxs("div", { "data-testid": "TextInput", className: "relative", children: [icon && (jsx("div", { className: "form-icon absolute inset-y-0 start-3 flex items-center ps-3.5 pointer-events-none", children: jsx(Icon, { name: icon }) })), jsx("input", __assign({ ref: ref, type: type, required: required, "aria-required": required, disabled: disabled, placeholder: placeholderSet, onChange: onChange, className: cx('form-item text-input', { 'pl-12': icon }, className) }, rest))] }));
416
+ });
417
+ TextInput.displayName = 'TextInput';
418
+
419
+ var Checkbox = React.forwardRef(function MyInput(_a, ref) {
420
+ var id = _a.id, label = _a.label, required = _a.required, className = _a.className, disabled = _a.disabled, rest = __rest(_a, ["id", "label", "required", "className", "disabled"]);
421
+ return (jsxs("div", { "data-testid": "Checkbox", className: cx('flex items-center', className), children: [jsxs("div", __assign({ className: "relative bg-none w-5 h-5 flex justify-center items-center", "aria-label": label, id: id, ref: ref }, rest, { children: [jsx("input", __assign({ id: id, ref: ref, disabled: disabled, type: "checkbox", className: "form-item checkbox m-0 appearance-none peer h-full w-full shrink-0 focus:ring-2", required: required }, rest)), jsx("span", { className: "absolute transition-opacity opacity-0 pointer-events-none peer-checked:opacity-100 w-full h-full flex items-center justify-center top-0 left-0", children: jsx(Icon, { name: "mdi:check-bold", size: 12 }) })] })), label && (jsx("label", { className: "label pl-2 leading-none", htmlFor: id, children: label }))] }));
422
+ });
423
+ Checkbox.displayName = 'Checkbox';
424
+
425
+ var Label = function (_a) {
426
+ var label = _a.label, id = _a.id;
427
+ return (jsx("label", { "data-testid": "Label", className: "label mb-1", htmlFor: id, children: label }));
428
+ };
429
+ Label.displayName = 'Label';
430
+
431
+ var FormSelect = function (_a) {
432
+ var id = _a.id, name = _a.name, options = _a.options, required = _a.required, className = _a.className, disabled = _a.disabled;
433
+ return (jsx("div", { id: id, className: cx('pb-2', className), children: jsxs("div", { className: "relative", children: [jsx("select", { id: id, name: name, disabled: disabled, required: required, className: "form-item text-input", children: options.map(function (option) { return (jsx("option", { value: option.value, disabled: option.disabled, children: option.label }, option.value)); }) }), jsx("div", { className: "form-icon absolute inset-0 z-10 pointer-events-none h-full w-12 items-center justify-center top-0 right-0 left-auto flex", children: jsx(Icon, { name: "mdi:chevron-down", size: 24, className: "pointer-events-none" }) })] }) }));
434
+ };
435
+ FormSelect.displayName = 'FormSelect';
436
+
437
+ var Radio = React.forwardRef(function MyInput(_a, ref) {
438
+ var id = _a.id, name = _a.name, label = _a.label, required = _a.required, className = _a.className, options = _a.options, rest = __rest(_a, ["id", "name", "label", "required", "className", "options"]);
439
+ return (jsx("div", { "data-testid": "Radio", className: cx('flex items-center', className), children: jsx("div", __assign({ className: cx('flex flex-col gap-2', className), "aria-label": label, id: id, ref: ref }, rest, { children: options === null || options === void 0 ? void 0 : options.map(function (option) { return (jsxs("div", { className: "flex items-center relative", children: [jsxs("div", { className: "relative flex items-center", children: [jsx("input", { id: option.value, name: name, type: "radio", required: required, className: "form-item radio peer appearance-none m-0 p-0 w-4 h-4" }), jsx("div", { className: "form-icon opacity-0 peer-checked:opacity-100 absolute w-4 h-4 flex items-center justify-center top-0 left-0 pointer-events-none", children: jsx(Icon, { name: "mdi:circle", size: 12 }) })] }), jsx("label", { className: "label pl-2 leading-none", htmlFor: option.value, children: option.label })] }, option.value)); }) })) }));
440
+ });
441
+ Radio.displayName = 'Radio';
442
+
443
+ var Switch = React.forwardRef(function MyInput(_a, ref) {
444
+ var id = _a.id, name = _a.name, required = _a.required, disabled = _a.disabled, className = _a.className, rest = __rest(_a, ["id", "name", "required", "disabled", "className"]);
445
+ return (jsxs("label", { "data-testid": "Switch", className: cx('inline-flex items-center cursor-pointer', className), children: [jsx("input", __assign({ ref: ref, id: id, name: name, type: "checkbox", value: "", className: "sr-only peer", disabled: disabled, required: required }, rest)), jsx("div", { className: "form-item switch peer-focus:ring-info dark:peer-focus:ring-info relative w-11 h-6 peer-checked:after:translate-x-full rtl:peer-checked:after:-translate-x-full peer-checked:after:border-white after:content-[''] after:absolute after:top-[1px] after:start-[1px] after:bg-white after:border after:rounded-full after:h-5 after:w-5 after:transition-all transition-all" })] }));
446
+ });
447
+ Switch.displayName = 'Switch';
448
+
449
+ var FileUpload = React.forwardRef(function MyInput(_a, ref) {
450
+ var id = _a.id, name = _a.name, required = _a.required, disabled = _a.disabled, className = _a.className, rest = __rest(_a, ["id", "name", "required", "disabled", "className"]);
451
+ return (jsx("div", { "data-testid": "FileUpload", className: className, children: jsx("input", __assign({ ref: ref, className: cx('form-item text-input file-upload p-0 relative m-0 min-w-0 flex-auto appearance-none block box-border bg-clip-padding file:p-3 file:cursor-pointer file:mr-3 file:overflow-hidden cursor-pointer file:border-0 file:rounded-none file:border-solid file:border-inherit file:transition file:duration-150 file:ease-in-out file:[border-inline-end-width:1px] file:[margin-inline-end:0.75rem] '), "aria-describedby": "file_input_help", type: "file", disabled: disabled, required: required, name: name, id: id }, rest)) }));
452
+ });
453
+ FileUpload.displayName = 'FileUpload';
454
+
455
+ var FormField = function (_a) {
456
+ var name = _a.name, type = _a.type, label = _a.label, required = _a.required, className = _a.className, icon = _a.icon, options = _a.options, disabled = _a.disabled, description = _a.description, showPasswordLabel = _a.showPasswordLabel, hidePasswordLabel = _a.hidePasswordLabel;
457
+ var _b = useForm(), control = _b.control, register = _b.register;
458
+ var _c = React.useState(false), passwordShowStatus = _c[0], setPasswordShow = _c[1];
459
+ var renderType = function (type, field) {
460
+ switch (type) {
461
+ case FieldTypes.TEXT:
462
+ return (jsx(TextInput, __assign({ type: InputType.TEXT, required: required, icon: icon, className: className, disabled: disabled }, field, register(name))));
463
+ case FieldTypes.PASSWORD: {
464
+ var toggleType = passwordShowStatus ? InputType.TEXT : InputType.PASSWORD;
465
+ var btnClass = 'appearance-none border-none bg-transparent flex items-center';
466
+ return (jsxs("div", { className: "relative", children: [jsx("span", { className: "absolute right-0 top-0 flex items-center justify-center h-full z-10 pr-2", onClick: function () { return setPasswordShow(function (pS) { return !pS; }); }, role: "button", tabIndex: 0, children: passwordShowStatus ? (jsx("button", { type: "button", "aria-label": hidePasswordLabel, className: cx(btnClass, 'form-icon'), children: jsx(Icon, { name: "mdi:eye-off", size: 24 }) })) : (jsx("button", { type: "button", "aria-label": showPasswordLabel, className: cx(btnClass, 'form-icon'), children: jsx(Icon, { name: "mdi:eye", size: 24 }) })) }), jsx(TextInput, __assign({ type: toggleType, required: required, icon: icon, className: className, disabled: disabled }, field, register(name)))] }));
467
+ }
468
+ case FieldTypes.TEXTAREA:
469
+ return (jsx(TextInput, __assign({ type: InputType.TEXTAREA, required: required, icon: icon, className: className, disabled: disabled }, field, register(name))));
470
+ case FieldTypes.EMAIL:
471
+ return (jsx(TextInput, __assign({ type: InputType.EMAIL, required: required, icon: icon, className: className, disabled: disabled }, field, register(name))));
472
+ case FieldTypes.DATE:
473
+ return (jsx(TextInput, __assign({ type: InputType.DATE, required: required, icon: icon, className: className, disabled: disabled }, field, register(name))));
474
+ case FieldTypes.DATETIME:
475
+ return (jsx(TextInput, __assign({ type: InputType.DATETIME, required: required, icon: icon, className: className, disabled: disabled }, field, register(name))));
476
+ case FieldTypes.NUMBER:
477
+ return (jsx(TextInput, __assign({ type: InputType.NUMBER, required: required, icon: icon, className: className, disabled: disabled }, field, register(name))));
478
+ case FieldTypes.CHECKBOX:
479
+ return (jsx(Checkbox, __assign({ required: required, id: name, className: className, label: label, disabled: disabled }, field, register(name))));
480
+ case FieldTypes.RADIO:
481
+ return (jsx(Radio, __assign({ required: required, id: name, className: className, label: label, options: options, disabled: disabled }, field, register(name))));
482
+ case FieldTypes.SWITCH:
483
+ return jsx(Switch, __assign({ required: required, className: className, disabled: disabled }, field, register(name)));
484
+ case FieldTypes.SELECT:
485
+ return (jsx(FormSelect, __assign({ required: required, id: name, className: className, disabled: disabled, label: label, options: options }, field, register(name))));
486
+ case FieldTypes.FILE:
487
+ return (jsx(FileUpload, __assign({ required: required, id: name, className: className, disabled: disabled }, field, register(name))));
488
+ default:
489
+ return (jsx(TextInput, __assign({ type: InputType.TEXT, required: required, disabled: disabled, icon: icon, className: className }, field, register(name))));
490
+ }
491
+ };
492
+ // TODO: HELPER CLASSES : data-[invalid=true]:bg-error data-[valid]:bg-success
493
+ var showLabel = label && type !== FieldTypes.CHECKBOX;
494
+ return (jsx("div", { className: "relative", children: jsxs("div", { "data-testid": "FormField", className: "mb-4", children: [showLabel && (jsx("div", { className: "flex items-baseline justify-between", children: jsx(Label, { label: label, id: name }) })), jsx(Controller, { name: "checkbox", control: control, rules: { required: true }, render: function (_a) {
495
+ var field = _a.field;
496
+ return renderType(type, field);
497
+ } }), description && jsx(Copy, { size: SIZE$1.SMALL, children: description })] }) }));
294
498
  };
499
+ FormField.displayName = 'FormField';
295
500
 
296
- export { Blockquote, Button, Container, ContentPageLayout, ContentRowsLayout, Copy, Heading, Hr, Icon, Image, Link, List, ListItem, Loader, Notice };
501
+ export { Blockquote, Button, Container, ContentPageLayout, ContentRowsLayout, Copy, Form, FormField, Heading, Hr, Icon, Image, Link, List, ListItem, Loader, Notice };