ics-ui-kit 1.0.0-alpha.0 → 1.0.0-alpha.2

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 (134) hide show
  1. package/dist/CalendarPreviousMonthButton-CHMp8bkd.js +2964 -0
  2. package/dist/CalendarPreviousMonthButton-CHMp8bkd.js.map +1 -0
  3. package/dist/{CheckboxField-Ca48ZYoX.js → CheckboxField-xDqHgXHh.js} +2 -2
  4. package/dist/{CheckboxField-Ca48ZYoX.js.map → CheckboxField-xDqHgXHh.js.map} +1 -1
  5. package/dist/{Command-CsW4aK7M.js → Command-WsAKNQrY.js} +2 -2
  6. package/dist/{Command-CsW4aK7M.js.map → Command-WsAKNQrY.js.map} +1 -1
  7. package/dist/{Dialog-BT_775Iz.js → Dialog-i_Y-phdM.js} +42 -43
  8. package/dist/Dialog-i_Y-phdM.js.map +1 -0
  9. package/dist/{Field-BRPdaQ8D.js → Field-BcwUtgGr.js} +2 -2
  10. package/dist/{Field-BRPdaQ8D.js.map → Field-BcwUtgGr.js.map} +1 -1
  11. package/dist/{FieldLabel-ic0eq9Un.js → FieldLabel-DYu1AcGH.js} +2 -2
  12. package/dist/{FieldLabel-ic0eq9Un.js.map → FieldLabel-DYu1AcGH.js.map} +1 -1
  13. package/dist/{FormFooterTemplate-BIwnBQhL.js → FormFooterTemplate-CHlas_Pp.js} +2 -2
  14. package/dist/{FormFooterTemplate-BIwnBQhL.js.map → FormFooterTemplate-CHlas_Pp.js.map} +1 -1
  15. package/dist/FormStack-DfoaOry7.js +1205 -0
  16. package/dist/FormStack-DfoaOry7.js.map +1 -0
  17. package/dist/{IconTooltip-CgbefRXG.js → IconTooltip-R6_6_f40.js} +2 -2
  18. package/dist/{IconTooltip-CgbefRXG.js.map → IconTooltip-R6_6_f40.js.map} +1 -1
  19. package/dist/{Popover-Dz2eNsXh.js → Popover-XrJa7lyb.js} +49 -50
  20. package/dist/Popover-XrJa7lyb.js.map +1 -0
  21. package/dist/{Select-Bfbtj5zt.js → Select-DO02vXt3.js} +185 -186
  22. package/dist/{Select-Bfbtj5zt.js.map → Select-DO02vXt3.js.map} +1 -1
  23. package/dist/{Sheet-aLBPtE1k.js → Sheet-C2UoHLL0.js} +35 -36
  24. package/dist/Sheet-C2UoHLL0.js.map +1 -0
  25. package/dist/{TextOverflowTooltip-BaNPKqnO.js → TextOverflowTooltip-XPDdO9Dz.js} +2 -2
  26. package/dist/{TextOverflowTooltip-BaNPKqnO.js.map → TextOverflowTooltip-XPDdO9Dz.js.map} +1 -1
  27. package/dist/{Tooltip-DOgKy50D.js → Tooltip-D2XvRS0c.js} +63 -64
  28. package/dist/Tooltip-D2XvRS0c.js.map +1 -0
  29. package/dist/blocks/auth/otp-form.js +3240 -204
  30. package/dist/blocks/auth/otp-form.js.map +1 -1
  31. package/dist/components/alert-dialog/AlertDialog.d.ts +2 -4
  32. package/dist/components/alert-dialog.js +70 -71
  33. package/dist/components/alert-dialog.js.map +1 -1
  34. package/dist/components/calendar/components/calendar-dropdown/CalendarDropdown.d.ts +24 -0
  35. package/dist/components/calendar/styles.d.ts +61 -0
  36. package/dist/components/calendar-scroll/CalendarScroll.d.ts +21 -0
  37. package/dist/components/calendar-scroll/CalendarScroll.stories.d.ts +16 -0
  38. package/dist/components/calendar-scroll/index.d.ts +3 -0
  39. package/dist/components/calendar-scroll.d.ts +2 -0
  40. package/dist/components/calendar-scroll.js +181 -0
  41. package/dist/components/calendar-scroll.js.map +1 -0
  42. package/dist/components/calendar.js +51 -147
  43. package/dist/components/calendar.js.map +1 -1
  44. package/dist/components/checkbox.js +1 -1
  45. package/dist/components/command.js +1 -1
  46. package/dist/components/dialog/Dialog.d.ts +2 -4
  47. package/dist/components/dialog.js +3 -3
  48. package/dist/components/drawer/components/drawer-content/DrawerContent.d.ts +1 -2
  49. package/dist/components/drawer.js +96 -97
  50. package/dist/components/drawer.js.map +1 -1
  51. package/dist/components/dropdown/Dropdown.d.ts +2 -4
  52. package/dist/components/dropdown.js +251 -252
  53. package/dist/components/dropdown.js.map +1 -1
  54. package/dist/components/field.js +1 -1
  55. package/dist/components/file-upload.js +1 -1
  56. package/dist/components/form/Form.d.ts +14 -0
  57. package/dist/components/form/components/form-field/FormField.d.ts +4 -0
  58. package/dist/components/form.js +3 -3
  59. package/dist/components/icon-tooltip.js +1 -1
  60. package/dist/components/label.js +1 -1
  61. package/dist/components/overflow-tooltip.js +1 -1
  62. package/dist/components/popover/Popover.d.ts +1 -2
  63. package/dist/components/popover.js +1 -1
  64. package/dist/components/resizable/Resizable.d.ts +1 -1
  65. package/dist/components/scheduler.js +1 -1
  66. package/dist/components/search-select/multi-select/MultiSelect.d.ts +1 -1
  67. package/dist/components/search-select.js +3 -3
  68. package/dist/components/search-select.js.map +1 -1
  69. package/dist/components/select/Select.d.ts +1 -2
  70. package/dist/components/select.js +1 -1
  71. package/dist/components/sheet/Sheet.d.ts +1 -2
  72. package/dist/components/sheet.js +1 -1
  73. package/dist/components/sidebar.js +2 -2
  74. package/dist/components/switch.js +1 -1
  75. package/dist/components/tag-input.js +1 -1
  76. package/dist/components/tooltip/Tooltip.d.ts +2 -4
  77. package/dist/components/tooltip.js +1 -1
  78. package/dist/tailwind.css +406 -361
  79. package/package.json +22 -18
  80. package/dist/DayPicker-4hE1QEvO.js +0 -2452
  81. package/dist/DayPicker-4hE1QEvO.js.map +0 -1
  82. package/dist/Dialog-BT_775Iz.js.map +0 -1
  83. package/dist/FormStack-CxiZhx1n.js +0 -127
  84. package/dist/FormStack-CxiZhx1n.js.map +0 -1
  85. package/dist/Popover-Dz2eNsXh.js.map +0 -1
  86. package/dist/Sheet-aLBPtE1k.js.map +0 -1
  87. package/dist/Tooltip-DOgKy50D.js.map +0 -1
  88. package/dist/buildMatchPatternFn-d7GTeGl_.js +0 -68
  89. package/dist/buildMatchPatternFn-d7GTeGl_.js.map +0 -1
  90. package/dist/components/portal-container/PortalContainer.d.ts +0 -10
  91. package/dist/components/portal-container/index.d.ts +0 -2
  92. package/dist/components/portal-container/portalContainerEvents.d.ts +0 -12
  93. package/dist/components/portal-container/usePortalContainer.d.ts +0 -11
  94. package/dist/components/portal-container.d.ts +0 -2
  95. package/dist/components/portal-container.js +0 -14
  96. package/dist/components/portal-container.js.map +0 -1
  97. package/dist/index.esm-CXA6i4d7.js +0 -1282
  98. package/dist/index.esm-CXA6i4d7.js.map +0 -1
  99. package/dist/normalizeDates-9A3c9WYM.js +0 -32
  100. package/dist/normalizeDates-9A3c9WYM.js.map +0 -1
  101. package/dist/styles.css +0 -9064
  102. package/dist/styles.d.ts +0 -1
  103. package/dist/usePortalContainer-B1xla842.js +0 -33
  104. package/dist/usePortalContainer-B1xla842.js.map +0 -1
  105. package/dist/vendors/date-fns/index.d.ts +0 -12
  106. package/dist/vendors/date-fns/locale/en-US/index.d.ts +0 -5
  107. package/dist/vendors/date-fns/locale/en-US.d.ts +0 -2
  108. package/dist/vendors/date-fns/locale/en-US.js +0 -372
  109. package/dist/vendors/date-fns/locale/en-US.js.map +0 -1
  110. package/dist/vendors/date-fns/locale/ru/index.d.ts +0 -5
  111. package/dist/vendors/date-fns/locale/ru.d.ts +0 -2
  112. package/dist/vendors/date-fns/locale/ru.js +0 -569
  113. package/dist/vendors/date-fns/locale/ru.js.map +0 -1
  114. package/dist/vendors/date-fns.d.ts +0 -2
  115. package/dist/vendors/date-fns.js +0 -2
  116. package/dist/vendors/date-fns.js.map +0 -1
  117. package/dist/vendors/react-day-picker/index.d.ts +0 -13
  118. package/dist/vendors/react-day-picker.d.ts +0 -2
  119. package/dist/vendors/react-day-picker.js +0 -87
  120. package/dist/vendors/react-day-picker.js.map +0 -1
  121. package/dist/vendors/react-hook-form/index.d.ts +0 -14
  122. package/dist/vendors/react-hook-form.d.ts +0 -2
  123. package/dist/vendors/react-hook-form.js +0 -19
  124. package/dist/vendors/react-hook-form.js.map +0 -1
  125. package/dist/vendors/tanstack/react-table/index.d.ts +0 -13
  126. package/dist/vendors/tanstack/react-table.d.ts +0 -2
  127. package/dist/vendors/tanstack/react-table.js +0 -2090
  128. package/dist/vendors/tanstack/react-table.js.map +0 -1
  129. package/dist/vendors/zod/index.d.ts +0 -13
  130. package/dist/vendors/zod.d.ts +0 -2
  131. package/dist/vendors/zod.js +0 -3080
  132. package/dist/vendors/zod.js.map +0 -1
  133. package/dist/zod-BMNoK3aM.js +0 -75
  134. package/dist/zod-BMNoK3aM.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Field-BRPdaQ8D.js","sources":["../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle-help.js","../src/components/field/Field.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleHelp = createLucideIcon(\"CircleHelp\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\", key: \"1u773s\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { CircleHelp as default };\n//# sourceMappingURL=circle-help.js.map\n","import * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { CircleHelp } from \"lucide-react\";\r\nimport { FieldLabel } from \"@/components/label\";\r\nimport { Description } from \"@/components/description\";\r\nimport { useId } from \"react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport type FieldLayout = \"horizontal\" | \"vertical\" | \"responsive\";\r\n\r\nexport interface FieldVariants {\r\n\t/** Вариант расположения элементов поля */\r\n\tlayout?: FieldLayout;\r\n\tshowGap?: boolean;\r\n}\r\n\r\nconst fieldStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full space-y-0\",\r\n\t\tlabelWrapper: \"flex items-center justify-between gap-3\",\r\n\t\tcontrolWrapper: \"flex w-full min-w-0 flex-1 flex-col\",\r\n\t\terror: \"text-status-error\"\r\n\t},\r\n\tvariants: {\r\n\t\tlayout: {\r\n\t\t\thorizontal: {\r\n\t\t\t\twrapper: \"flex-row gap-4\",\r\n\t\t\t\tlabelWrapper: \"h-10 flex-col items-start gap-0.5 pb-px pt-px lg:h-9\"\r\n\t\t\t},\r\n\t\t\tvertical: {\r\n\t\t\t\twrapper: \"flex-col gap-2\",\r\n\t\t\t\tlabelWrapper: \"h-4\"\r\n\t\t\t},\r\n\t\t\tresponsive: {\r\n\t\t\t\twrapper: \"flex-col gap-2 lg:flex-row lg:gap-4\",\r\n\t\t\t\tlabelWrapper: \"h-4 lg:h-9 lg:flex-col lg:items-start lg:gap-0.5 lg:pb-px lg:pt-px\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tshowGap: {\r\n\t\t\ttrue: { controlWrapper: \"gap-y-2\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<FieldVariants>,\r\n\tdefaultVariants: {\r\n\t\tlayout: \"horizontal\"\r\n\t}\r\n});\r\n\r\ntype DescriptionPlacement = \"text\" | \"icon\";\r\n\r\ntype ControlProps = {\r\n\t/** Режим только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Идентификатор элемента. Используется для связи лейбла с элементом управления */\r\n\tid?: string;\r\n\t/** Текст сообщения об ошибке. При наличии делает поле невалидным */\r\n\terror?: string;\r\n};\r\n\r\nexport type FieldProps = Omit<FieldVariants, \"showGap\"> & {\r\n\t/** Заголовок поля */\r\n\ttitle: string;\r\n\t/** Описание поля */\r\n\tdescription?: React.ReactNode;\r\n\t/** Режим только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Расположение описания */\r\n\tdescriptionPlacement?: DescriptionPlacement;\r\n\t/** Функция рендеринга контрола */\r\n\tcontrol: (props: ControlProps) => React.ReactNode;\r\n\t/** Обязательное поле */\r\n\trequired?: boolean;\r\n\t/** Текст ошибки */\r\n\terror?: string;\r\n\t/** Дополнительные классы для контейнера */\r\n\tclassName?: string;\r\n\t/** Дополнительные классы для лейбла */\r\n\tlabelClassName?: string;\r\n\t/** Дополнительный контент в строке лейбла, выравнивается по правому краю */\r\n\tlabelSlot?: React.ReactNode;\r\n};\r\n\r\nexport const Field = React.forwardRef<HTMLDivElement, FieldProps>(\r\n\t(\r\n\t\t{\r\n\t\t\ttitle,\r\n\t\t\tdescription,\r\n\t\t\tdescriptionPlacement = \"text\",\r\n\t\t\tcontrol,\r\n\t\t\trequired,\r\n\t\t\terror,\r\n\t\t\tclassName,\r\n\t\t\tlabelClassName,\r\n\t\t\tlabelSlot,\r\n\t\t\tlayout,\r\n\t\t\treadonly\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst generatedId = useId();\r\n\t\tconst showTextDescription = description && descriptionPlacement !== \"icon\";\r\n\t\tconst showIconDescription = description && descriptionPlacement === \"icon\";\r\n\r\n\t\tconst styles = fieldStyles({ layout, showGap: !!(showTextDescription || error) });\r\n\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={styles.wrapper({ className })}>\r\n\t\t\t\t<div className={styles.labelWrapper({ className: labelClassName })}>\r\n\t\t\t\t\t<FieldLabel\r\n\t\t\t\t\t\ttooltip={description}\r\n\t\t\t\t\t\ticon={showIconDescription ? CircleHelp : void 0}\r\n\t\t\t\t\t\trequired={!readonly && required}\r\n\t\t\t\t\t\thtmlFor={generatedId}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t</FieldLabel>\r\n\t\t\t\t\t{labelSlot}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className={styles.controlWrapper()}>\r\n\t\t\t\t\t{control({ readonly, id: generatedId, error })}\r\n\t\t\t\t\t<div className=\"flex flex-col gap-0.5\">\r\n\t\t\t\t\t\t{showTextDescription && <Description size=\"xs\">{description}</Description>}\r\n\t\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\t<Description size=\"xs\" className={styles.error()}>\r\n\t\t\t\t\t\t\t\t{error}\r\n\t\t\t\t\t\t\t</Description>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nField.displayName = \"Field\";\r\n"],"names":["CircleHelp","createLucideIcon","fieldStyles","tv","Field","React","title","description","descriptionPlacement","control","required","error","className","labelClassName","labelSlot","layout","readonly","ref","generatedId","useId","showTextDescription","showIconDescription","styles","jsxs","jsx","FieldLabel","Description"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAaC,EAAiB,cAAc;AAAA,EAChD,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,wCAAwC,KAAK,SAAQ,CAAE;AAAA,EACrE,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAU,CAAA;AAC7C,CAAC,GCGKC,IAAcC,EAAG;AAAA,EACtB,OAAO;AAAA,IACN,SAAS;AAAA,IACT,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,OAAO;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,YAAY;AAAA,QACX,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,MACA,UAAU;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,MACA,YAAY;AAAA,QACX,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,IAEhB;AAAA,IACA,SAAS;AAAA,MACR,MAAM,EAAE,gBAAgB,UAAU;AAAA,IAAA;AAAA,EAEpC;AAAA,EACA,iBAAiB;AAAA,IAChB,QAAQ;AAAA,EAAA;AAEV,CAAC,GAoCYC,IAAQC,EAAM;AAAA,EAC1B,CACC;AAAA,IACC,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,sBAAAC,IAAuB;AAAA,IACvB,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,KAEDC,MACI;AACJ,UAAMC,IAAcC,EAAM,GACpBC,IAAsBb,KAAeC,MAAyB,QAC9Da,IAAsBd,KAAeC,MAAyB,QAE9Dc,IAASpB,EAAY,EAAE,QAAAa,GAAQ,SAAS,CAAC,EAAEK,KAAuBT,IAAQ;AAG/E,WAAA,gBAAAY,EAAC,SAAI,KAAAN,GAAU,WAAWK,EAAO,QAAQ,EAAE,WAAAV,GAAW,GACrD,UAAA;AAAA,MAAC,gBAAAW,EAAA,OAAA,EAAI,WAAWD,EAAO,aAAa,EAAE,WAAWT,GAAgB,GAChE,UAAA;AAAA,QAAA,gBAAAW;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,SAASlB;AAAA,YACT,MAAMc,IAAsBrB,IAAa;AAAA,YACzC,UAAU,CAACgB,KAAYN;AAAA,YACvB,SAASQ;AAAA,YAER,UAAAZ;AAAA,UAAA;AAAA,QACF;AAAA,QACCQ;AAAA,MAAA,GACF;AAAA,MAEC,gBAAAS,EAAA,OAAA,EAAI,WAAWD,EAAO,eACrB,GAAA,UAAA;AAAA,QAAAb,EAAQ,EAAE,UAAAO,GAAU,IAAIE,GAAa,OAAAP,GAAO;AAAA,QAC7C,gBAAAY,EAAC,OAAI,EAAA,WAAU,yBACb,UAAA;AAAA,UAAAH,KAAwB,gBAAAI,EAAAE,GAAA,EAAY,MAAK,MAAM,UAAYnB,GAAA;AAAA,UAC3DI,uBACCe,GAAY,EAAA,MAAK,MAAK,WAAWJ,EAAO,SACvC,UACFX,EAAA,CAAA;AAAA,QAAA,EAEF,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAGH;AAEAP,EAAM,cAAc;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"Field-BcwUtgGr.js","sources":["../node_modules/.pnpm/lucide-react@0.460.0_react@18.3.1/node_modules/lucide-react/dist/esm/icons/circle-help.js","../src/components/field/Field.tsx"],"sourcesContent":["/**\n * @license lucide-react v0.460.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleHelp = createLucideIcon(\"CircleHelp\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\", key: \"1u773s\" }],\n [\"path\", { d: \"M12 17h.01\", key: \"p32p05\" }]\n]);\n\nexport { CircleHelp as default };\n//# sourceMappingURL=circle-help.js.map\n","import * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { CircleHelp } from \"lucide-react\";\r\nimport { FieldLabel } from \"@/components/label\";\r\nimport { Description } from \"@/components/description\";\r\nimport { useId } from \"react\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport type FieldLayout = \"horizontal\" | \"vertical\" | \"responsive\";\r\n\r\nexport interface FieldVariants {\r\n\t/** Вариант расположения элементов поля */\r\n\tlayout?: FieldLayout;\r\n\tshowGap?: boolean;\r\n}\r\n\r\nconst fieldStyles = tv({\r\n\tslots: {\r\n\t\twrapper: \"flex w-full space-y-0\",\r\n\t\tlabelWrapper: \"flex items-center justify-between gap-3\",\r\n\t\tcontrolWrapper: \"flex w-full min-w-0 flex-1 flex-col\",\r\n\t\terror: \"text-status-error\"\r\n\t},\r\n\tvariants: {\r\n\t\tlayout: {\r\n\t\t\thorizontal: {\r\n\t\t\t\twrapper: \"flex-row gap-4\",\r\n\t\t\t\tlabelWrapper: \"h-10 flex-col items-start gap-0.5 pb-px pt-px lg:h-9\"\r\n\t\t\t},\r\n\t\t\tvertical: {\r\n\t\t\t\twrapper: \"flex-col gap-2\",\r\n\t\t\t\tlabelWrapper: \"h-4\"\r\n\t\t\t},\r\n\t\t\tresponsive: {\r\n\t\t\t\twrapper: \"flex-col gap-2 lg:flex-row lg:gap-4\",\r\n\t\t\t\tlabelWrapper: \"h-4 lg:h-9 lg:flex-col lg:items-start lg:gap-0.5 lg:pb-px lg:pt-px\"\r\n\t\t\t}\r\n\t\t},\r\n\t\tshowGap: {\r\n\t\t\ttrue: { controlWrapper: \"gap-y-2\" }\r\n\t\t}\r\n\t} satisfies VariantsConfig<FieldVariants>,\r\n\tdefaultVariants: {\r\n\t\tlayout: \"horizontal\"\r\n\t}\r\n});\r\n\r\ntype DescriptionPlacement = \"text\" | \"icon\";\r\n\r\ntype ControlProps = {\r\n\t/** Режим только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Идентификатор элемента. Используется для связи лейбла с элементом управления */\r\n\tid?: string;\r\n\t/** Текст сообщения об ошибке. При наличии делает поле невалидным */\r\n\terror?: string;\r\n};\r\n\r\nexport type FieldProps = Omit<FieldVariants, \"showGap\"> & {\r\n\t/** Заголовок поля */\r\n\ttitle: string;\r\n\t/** Описание поля */\r\n\tdescription?: React.ReactNode;\r\n\t/** Режим только для чтения */\r\n\treadonly?: boolean;\r\n\t/** Расположение описания */\r\n\tdescriptionPlacement?: DescriptionPlacement;\r\n\t/** Функция рендеринга контрола */\r\n\tcontrol: (props: ControlProps) => React.ReactNode;\r\n\t/** Обязательное поле */\r\n\trequired?: boolean;\r\n\t/** Текст ошибки */\r\n\terror?: string;\r\n\t/** Дополнительные классы для контейнера */\r\n\tclassName?: string;\r\n\t/** Дополнительные классы для лейбла */\r\n\tlabelClassName?: string;\r\n\t/** Дополнительный контент в строке лейбла, выравнивается по правому краю */\r\n\tlabelSlot?: React.ReactNode;\r\n};\r\n\r\nexport const Field = React.forwardRef<HTMLDivElement, FieldProps>(\r\n\t(\r\n\t\t{\r\n\t\t\ttitle,\r\n\t\t\tdescription,\r\n\t\t\tdescriptionPlacement = \"text\",\r\n\t\t\tcontrol,\r\n\t\t\trequired,\r\n\t\t\terror,\r\n\t\t\tclassName,\r\n\t\t\tlabelClassName,\r\n\t\t\tlabelSlot,\r\n\t\t\tlayout,\r\n\t\t\treadonly\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst generatedId = useId();\r\n\t\tconst showTextDescription = description && descriptionPlacement !== \"icon\";\r\n\t\tconst showIconDescription = description && descriptionPlacement === \"icon\";\r\n\r\n\t\tconst styles = fieldStyles({ layout, showGap: !!(showTextDescription || error) });\r\n\r\n\t\treturn (\r\n\t\t\t<div ref={ref} className={styles.wrapper({ className })}>\r\n\t\t\t\t<div className={styles.labelWrapper({ className: labelClassName })}>\r\n\t\t\t\t\t<FieldLabel\r\n\t\t\t\t\t\ttooltip={description}\r\n\t\t\t\t\t\ticon={showIconDescription ? CircleHelp : void 0}\r\n\t\t\t\t\t\trequired={!readonly && required}\r\n\t\t\t\t\t\thtmlFor={generatedId}\r\n\t\t\t\t\t>\r\n\t\t\t\t\t\t{title}\r\n\t\t\t\t\t</FieldLabel>\r\n\t\t\t\t\t{labelSlot}\r\n\t\t\t\t</div>\r\n\r\n\t\t\t\t<div className={styles.controlWrapper()}>\r\n\t\t\t\t\t{control({ readonly, id: generatedId, error })}\r\n\t\t\t\t\t<div className=\"flex flex-col gap-0.5\">\r\n\t\t\t\t\t\t{showTextDescription && <Description size=\"xs\">{description}</Description>}\r\n\t\t\t\t\t\t{error && (\r\n\t\t\t\t\t\t\t<Description size=\"xs\" className={styles.error()}>\r\n\t\t\t\t\t\t\t\t{error}\r\n\t\t\t\t\t\t\t</Description>\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nField.displayName = \"Field\";\r\n"],"names":["CircleHelp","createLucideIcon","fieldStyles","tv","Field","React","title","description","descriptionPlacement","control","required","error","className","labelClassName","labelSlot","layout","readonly","ref","generatedId","useId","showTextDescription","showIconDescription","styles","jsxs","jsx","FieldLabel","Description"],"mappings":";;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASA,MAAMA,IAAaC,EAAiB,cAAc;AAAA,EAChD,CAAC,UAAU,EAAE,IAAI,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,UAAU;AAAA,EACzD,CAAC,QAAQ,EAAE,GAAG,wCAAwC,KAAK,SAAQ,CAAE;AAAA,EACrE,CAAC,QAAQ,EAAE,GAAG,cAAc,KAAK,SAAU,CAAA;AAC7C,CAAC,GCGKC,IAAcC,EAAG;AAAA,EACtB,OAAO;AAAA,IACN,SAAS;AAAA,IACT,cAAc;AAAA,IACd,gBAAgB;AAAA,IAChB,OAAO;AAAA,EACR;AAAA,EACA,UAAU;AAAA,IACT,QAAQ;AAAA,MACP,YAAY;AAAA,QACX,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,MACA,UAAU;AAAA,QACT,SAAS;AAAA,QACT,cAAc;AAAA,MACf;AAAA,MACA,YAAY;AAAA,QACX,SAAS;AAAA,QACT,cAAc;AAAA,MAAA;AAAA,IAEhB;AAAA,IACA,SAAS;AAAA,MACR,MAAM,EAAE,gBAAgB,UAAU;AAAA,IAAA;AAAA,EAEpC;AAAA,EACA,iBAAiB;AAAA,IAChB,QAAQ;AAAA,EAAA;AAEV,CAAC,GAoCYC,IAAQC,EAAM;AAAA,EAC1B,CACC;AAAA,IACC,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,sBAAAC,IAAuB;AAAA,IACvB,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,OAAAC;AAAA,IACA,WAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,WAAAC;AAAA,IACA,QAAAC;AAAA,IACA,UAAAC;AAAA,KAEDC,MACI;AACJ,UAAMC,IAAcC,EAAM,GACpBC,IAAsBb,KAAeC,MAAyB,QAC9Da,IAAsBd,KAAeC,MAAyB,QAE9Dc,IAASpB,EAAY,EAAE,QAAAa,GAAQ,SAAS,CAAC,EAAEK,KAAuBT,IAAQ;AAG/E,WAAA,gBAAAY,EAAC,SAAI,KAAAN,GAAU,WAAWK,EAAO,QAAQ,EAAE,WAAAV,GAAW,GACrD,UAAA;AAAA,MAAC,gBAAAW,EAAA,OAAA,EAAI,WAAWD,EAAO,aAAa,EAAE,WAAWT,GAAgB,GAChE,UAAA;AAAA,QAAA,gBAAAW;AAAA,UAACC;AAAA,UAAA;AAAA,YACA,SAASlB;AAAA,YACT,MAAMc,IAAsBrB,IAAa;AAAA,YACzC,UAAU,CAACgB,KAAYN;AAAA,YACvB,SAASQ;AAAA,YAER,UAAAZ;AAAA,UAAA;AAAA,QACF;AAAA,QACCQ;AAAA,MAAA,GACF;AAAA,MAEC,gBAAAS,EAAA,OAAA,EAAI,WAAWD,EAAO,eACrB,GAAA,UAAA;AAAA,QAAAb,EAAQ,EAAE,UAAAO,GAAU,IAAIE,GAAa,OAAAP,GAAO;AAAA,QAC7C,gBAAAY,EAAC,OAAI,EAAA,WAAU,yBACb,UAAA;AAAA,UAAAH,KAAwB,gBAAAI,EAAAE,GAAA,EAAY,MAAK,MAAM,UAAYnB,GAAA;AAAA,UAC3DI,uBACCe,GAAY,EAAA,MAAK,MAAK,WAAWJ,EAAO,SACvC,UACFX,EAAA,CAAA;AAAA,QAAA,EAEF,CAAA;AAAA,MAAA,EACD,CAAA;AAAA,IAAA,GACD;AAAA,EAAA;AAGH;AAEAP,EAAM,cAAc;","x_google_ignoreList":[0]}
@@ -4,7 +4,7 @@ import g from "react";
4
4
  import { P as L } from "./index-Bb23HztA.js";
5
5
  import { T as o } from "./index-BVqs-uqP.js";
6
6
  import { I as N } from "./Icon-DH3ev9GK.js";
7
- import { I as h } from "./IconTooltip-CgbefRXG.js";
7
+ import { I as h } from "./IconTooltip-R6_6_f40.js";
8
8
  var y = "Label", d = n.forwardRef((t, r) => /* @__PURE__ */ a(
9
9
  L.label,
10
10
  {
@@ -67,4 +67,4 @@ export {
67
67
  v as F,
68
68
  c as L
69
69
  };
70
- //# sourceMappingURL=FieldLabel-ic0eq9Un.js.map
70
+ //# sourceMappingURL=FieldLabel-DYu1AcGH.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FieldLabel-ic0eq9Un.js","sources":["../node_modules/.pnpm/@radix-ui+react-label@2.1.8_06ea743dca7d9215da8e661312ca1eb5/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/Label.tsx","../src/components/label/field-label/components/RequiredIcon.tsx","../src/components/label/field-label/FieldLabel.tsx"],"sourcesContent":["\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst labelStyles = tv({\r\n\tbase: \"text-sm font-medium leading-none text-primary-fg peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n});\r\n\r\nconst Label = React.forwardRef<\r\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\r\n>(({ className, ...props }, ref) => (\r\n\t<LabelPrimitive.Root ref={ref} className={labelStyles({ className })} {...props} />\r\n));\r\nLabel.displayName = LabelPrimitive.Root.displayName;\r\n\r\nexport { Label };\r\n","import { tv } from \"tailwind-variants\";\r\n\r\nconst requiredIconStyles = tv({\r\n\tbase: \"stroke-status-error\"\r\n});\r\n\r\ninterface RequiredIconProps {\r\n\tclassName?: string;\r\n}\r\n\r\nexport function RequiredIcon({ className }: RequiredIconProps) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\tclassName={requiredIconStyles({ className })}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\twidth=\"24\"\r\n\t\t\theight=\"24\"\r\n\t\t\tviewBox=\"0 0 24 24\"\r\n\t\t\tfill=\"none\"\r\n\t\t>\r\n\t\t\t<path\r\n\t\t\t\td=\"M12.0001 3V21M20 7.5L4 16.5M4 7.5L20 16.5\"\r\n\t\t\t\tstrokeWidth=\"3\"\r\n\t\t\t\tstrokeLinecap=\"round\"\r\n\t\t\t\tstrokeLinejoin=\"round\"\r\n\t\t\t/>\r\n\t\t</svg>\r\n\t);\r\n}\r\n","import React from \"react\";\r\nimport { Label } from \"../Label\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { IconTooltip } from \"@/components/icon-tooltip/IconTooltip\";\r\nimport { RequiredIcon } from \"./components/RequiredIcon\";\r\n\r\nconst fieldLabelVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"flex h-4 min-w-0 items-center gap-x-0.5 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\r\n\t\trequiredMark: \"h-2 w-2 self-start\",\r\n\t\ticon: \"ml-1 text-muted\"\r\n\t}\r\n});\r\n\r\ninterface FieldLabelProps extends React.ComponentPropsWithoutRef<typeof Label> {\r\n\tclassName?: string;\r\n\trequired?: boolean;\r\n\ticon?: LucideIcon;\r\n\ttooltip?: React.ReactNode;\r\n}\r\n\r\nexport const FieldLabel = React.forwardRef<React.ElementRef<typeof Label>, FieldLabelProps>(\r\n\t({ className, children, htmlFor, icon, tooltip, required, ...props }, ref) => {\r\n\t\tconst { base, requiredMark, icon: iconStyles } = fieldLabelVariants();\r\n\r\n\t\treturn (\r\n\t\t\t<Label ref={ref} className={base({ className })} htmlFor={htmlFor} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t\t{required && <RequiredIcon className={requiredMark()} />}\r\n\t\t\t\t{icon &&\r\n\t\t\t\t\t(tooltip ? (\r\n\t\t\t\t\t\t<IconTooltip content={tooltip} iconSize=\"sm\" icon={icon} iconClassName={iconStyles()} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<Icon size=\"sm\" icon={icon} className={iconStyles()} />\r\n\t\t\t\t\t))}\r\n\t\t\t</Label>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFieldLabel.displayName = \"FieldLabel\";\r\n"],"names":["NAME","Label","React","props","forwardedRef","jsx","Primitive","event","Root","labelStyles","tv","className","ref","LabelPrimitive.Root","requiredIconStyles","RequiredIcon","fieldLabelVariants","FieldLabel","children","htmlFor","icon","tooltip","required","base","requiredMark","iconStyles","jsxs","IconTooltip","Icon"],"mappings":";;;;;;;AAMA,IAAIA,IAAO,SACPC,IAAQC,EAAM,WAAW,CAACC,GAAOC,MACZ,gBAAAC;AAAA,EACrBC,EAAU;AAAA,EACV;AAAA,IACE,GAAGH;AAAA,IACH,KAAKC;AAAA,IACL,aAAa,CAACG,MAAU;AAEtB,MADeA,EAAM,OACV,QAAQ,iCAAiC,MACpDJ,EAAM,cAAcI,CAAK,GACrB,CAACA,EAAM,oBAAoBA,EAAM,SAAS,KAAGA,EAAM,eAAgB;AAAA,IAC/E;AAAA,EACA;AACG,CACF;AACDN,EAAM,cAAcD;AACpB,IAAIQ,IAAOP;ACnBX,MAAMQ,IAAcC,EAAG;AAAA,EACtB,MAAM;AACP,CAAC,GAEKT,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAS,GAAW,GAAGR,EAAM,GAAGS,MAC3B,gBAAAP,EAACQ,GAAA,EAAoB,KAAAD,GAAU,WAAWH,EAAY,EAAE,WAAAE,GAAW,GAAI,GAAGR,GAAO,CACjF;AACDF,EAAM,cAAcY,EAAoB;ACZxC,MAAMC,IAAqBJ,EAAG;AAAA,EAC7B,MAAM;AACP,CAAC;AAMe,SAAAK,EAAa,EAAE,WAAAJ,KAAgC;AAE7D,SAAA,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWS,EAAmB,EAAE,WAAAH,GAAW;AAAA,MAC3C,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MAEL,UAAA,gBAAAN;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,GAAE;AAAA,UACF,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EACD;AAEF;ACpBA,MAAMW,IAAqBN,EAAG;AAAA,EAC7B,OAAO;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,MAAM;AAAA,EAAA;AAER,CAAC,GASYO,IAAaf,EAAM;AAAA,EAC/B,CAAC,EAAE,WAAAS,GAAW,UAAAO,GAAU,SAAAC,GAAS,MAAAC,GAAM,SAAAC,GAAS,UAAAC,GAAU,GAAGnB,EAAM,GAAGS,MAAQ;AAC7E,UAAM,EAAE,MAAAW,GAAM,cAAAC,GAAc,MAAMC,EAAA,IAAeT,EAAmB;AAGnE,WAAA,gBAAAU,EAACzB,GAAM,EAAA,KAAAW,GAAU,WAAWW,EAAK,EAAE,WAAAZ,EAAW,CAAA,GAAG,SAAAQ,GAAmB,GAAGhB,GACrE,UAAA;AAAA,MAAAe;AAAA,MACAI,KAAY,gBAAAjB,EAACU,GAAa,EAAA,WAAWS,EAAgB,EAAA,CAAA;AAAA,MACrDJ,MACCC,IACC,gBAAAhB,EAAAsB,GAAA,EAAY,SAASN,GAAS,UAAS,MAAK,MAAAD,GAAY,eAAeK,KAAc,sBAErFG,GAAK,EAAA,MAAK,MAAK,MAAAR,GAAY,WAAWK,KAAc;AAAA,IAAA,GAExD;AAAA,EAAA;AAGH;AAEAR,EAAW,cAAc;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"FieldLabel-DYu1AcGH.js","sources":["../node_modules/.pnpm/@radix-ui+react-label@2.1.8_06ea743dca7d9215da8e661312ca1eb5/node_modules/@radix-ui/react-label/dist/index.mjs","../src/components/label/Label.tsx","../src/components/label/field-label/components/RequiredIcon.tsx","../src/components/label/field-label/FieldLabel.tsx"],"sourcesContent":["\"use client\";\n\n// src/label.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Label\";\nvar Label = React.forwardRef((props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.label,\n {\n ...props,\n ref: forwardedRef,\n onMouseDown: (event) => {\n const target = event.target;\n if (target.closest(\"button, input, select, textarea\")) return;\n props.onMouseDown?.(event);\n if (!event.defaultPrevented && event.detail > 1) event.preventDefault();\n }\n }\n );\n});\nLabel.displayName = NAME;\nvar Root = Label;\nexport {\n Label,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","import * as LabelPrimitive from \"@radix-ui/react-label\";\r\nimport * as React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\n\r\nconst labelStyles = tv({\r\n\tbase: \"text-sm font-medium leading-none text-primary-fg peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\r\n});\r\n\r\nconst Label = React.forwardRef<\r\n\tReact.ElementRef<typeof LabelPrimitive.Root>,\r\n\tReact.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\r\n>(({ className, ...props }, ref) => (\r\n\t<LabelPrimitive.Root ref={ref} className={labelStyles({ className })} {...props} />\r\n));\r\nLabel.displayName = LabelPrimitive.Root.displayName;\r\n\r\nexport { Label };\r\n","import { tv } from \"tailwind-variants\";\r\n\r\nconst requiredIconStyles = tv({\r\n\tbase: \"stroke-status-error\"\r\n});\r\n\r\ninterface RequiredIconProps {\r\n\tclassName?: string;\r\n}\r\n\r\nexport function RequiredIcon({ className }: RequiredIconProps) {\r\n\treturn (\r\n\t\t<svg\r\n\t\t\tclassName={requiredIconStyles({ className })}\r\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\r\n\t\t\twidth=\"24\"\r\n\t\t\theight=\"24\"\r\n\t\t\tviewBox=\"0 0 24 24\"\r\n\t\t\tfill=\"none\"\r\n\t\t>\r\n\t\t\t<path\r\n\t\t\t\td=\"M12.0001 3V21M20 7.5L4 16.5M4 7.5L20 16.5\"\r\n\t\t\t\tstrokeWidth=\"3\"\r\n\t\t\t\tstrokeLinecap=\"round\"\r\n\t\t\t\tstrokeLinejoin=\"round\"\r\n\t\t\t/>\r\n\t\t</svg>\r\n\t);\r\n}\r\n","import React from \"react\";\r\nimport { Label } from \"../Label\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { Icon } from \"@/components/icon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport { IconTooltip } from \"@/components/icon-tooltip/IconTooltip\";\r\nimport { RequiredIcon } from \"./components/RequiredIcon\";\r\n\r\nconst fieldLabelVariants = tv({\r\n\tslots: {\r\n\t\tbase: \"flex h-4 min-w-0 items-center gap-x-0.5 text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\r\n\t\trequiredMark: \"h-2 w-2 self-start\",\r\n\t\ticon: \"ml-1 text-muted\"\r\n\t}\r\n});\r\n\r\ninterface FieldLabelProps extends React.ComponentPropsWithoutRef<typeof Label> {\r\n\tclassName?: string;\r\n\trequired?: boolean;\r\n\ticon?: LucideIcon;\r\n\ttooltip?: React.ReactNode;\r\n}\r\n\r\nexport const FieldLabel = React.forwardRef<React.ElementRef<typeof Label>, FieldLabelProps>(\r\n\t({ className, children, htmlFor, icon, tooltip, required, ...props }, ref) => {\r\n\t\tconst { base, requiredMark, icon: iconStyles } = fieldLabelVariants();\r\n\r\n\t\treturn (\r\n\t\t\t<Label ref={ref} className={base({ className })} htmlFor={htmlFor} {...props}>\r\n\t\t\t\t{children}\r\n\t\t\t\t{required && <RequiredIcon className={requiredMark()} />}\r\n\t\t\t\t{icon &&\r\n\t\t\t\t\t(tooltip ? (\r\n\t\t\t\t\t\t<IconTooltip content={tooltip} iconSize=\"sm\" icon={icon} iconClassName={iconStyles()} />\r\n\t\t\t\t\t) : (\r\n\t\t\t\t\t\t<Icon size=\"sm\" icon={icon} className={iconStyles()} />\r\n\t\t\t\t\t))}\r\n\t\t\t</Label>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFieldLabel.displayName = \"FieldLabel\";\r\n"],"names":["NAME","Label","React","props","forwardedRef","jsx","Primitive","event","Root","labelStyles","tv","className","ref","LabelPrimitive.Root","requiredIconStyles","RequiredIcon","fieldLabelVariants","FieldLabel","children","htmlFor","icon","tooltip","required","base","requiredMark","iconStyles","jsxs","IconTooltip","Icon"],"mappings":";;;;;;;AAMA,IAAIA,IAAO,SACPC,IAAQC,EAAM,WAAW,CAACC,GAAOC,MACZ,gBAAAC;AAAA,EACrBC,EAAU;AAAA,EACV;AAAA,IACE,GAAGH;AAAA,IACH,KAAKC;AAAA,IACL,aAAa,CAACG,MAAU;AAEtB,MADeA,EAAM,OACV,QAAQ,iCAAiC,MACpDJ,EAAM,cAAcI,CAAK,GACrB,CAACA,EAAM,oBAAoBA,EAAM,SAAS,KAAGA,EAAM,eAAgB;AAAA,IAC/E;AAAA,EACA;AACG,CACF;AACDN,EAAM,cAAcD;AACpB,IAAIQ,IAAOP;ACnBX,MAAMQ,IAAcC,EAAG;AAAA,EACtB,MAAM;AACP,CAAC,GAEKT,IAAQC,EAAM,WAGlB,CAAC,EAAE,WAAAS,GAAW,GAAGR,EAAM,GAAGS,MAC3B,gBAAAP,EAACQ,GAAA,EAAoB,KAAAD,GAAU,WAAWH,EAAY,EAAE,WAAAE,GAAW,GAAI,GAAGR,GAAO,CACjF;AACDF,EAAM,cAAcY,EAAoB;ACZxC,MAAMC,IAAqBJ,EAAG;AAAA,EAC7B,MAAM;AACP,CAAC;AAMe,SAAAK,EAAa,EAAE,WAAAJ,KAAgC;AAE7D,SAAA,gBAAAN;AAAA,IAAC;AAAA,IAAA;AAAA,MACA,WAAWS,EAAmB,EAAE,WAAAH,GAAW;AAAA,MAC3C,OAAM;AAAA,MACN,OAAM;AAAA,MACN,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAK;AAAA,MAEL,UAAA,gBAAAN;AAAA,QAAC;AAAA,QAAA;AAAA,UACA,GAAE;AAAA,UACF,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,QAAA;AAAA,MAAA;AAAA,IAChB;AAAA,EACD;AAEF;ACpBA,MAAMW,IAAqBN,EAAG;AAAA,EAC7B,OAAO;AAAA,IACN,MAAM;AAAA,IACN,cAAc;AAAA,IACd,MAAM;AAAA,EAAA;AAER,CAAC,GASYO,IAAaf,EAAM;AAAA,EAC/B,CAAC,EAAE,WAAAS,GAAW,UAAAO,GAAU,SAAAC,GAAS,MAAAC,GAAM,SAAAC,GAAS,UAAAC,GAAU,GAAGnB,EAAM,GAAGS,MAAQ;AAC7E,UAAM,EAAE,MAAAW,GAAM,cAAAC,GAAc,MAAMC,EAAA,IAAeT,EAAmB;AAGnE,WAAA,gBAAAU,EAACzB,GAAM,EAAA,KAAAW,GAAU,WAAWW,EAAK,EAAE,WAAAZ,EAAW,CAAA,GAAG,SAAAQ,GAAmB,GAAGhB,GACrE,UAAA;AAAA,MAAAe;AAAA,MACAI,KAAY,gBAAAjB,EAACU,GAAa,EAAA,WAAWS,EAAgB,EAAA,CAAA;AAAA,MACrDJ,MACCC,IACC,gBAAAhB,EAAAsB,GAAA,EAAY,SAASN,GAAS,UAAS,MAAK,MAAAD,GAAY,eAAeK,KAAc,sBAErFG,GAAK,EAAA,MAAK,MAAK,MAAAR,GAAY,WAAWK,KAAc;AAAA,IAAA,GAExD;AAAA,EAAA;AAGH;AAEAR,EAAW,cAAc;","x_google_ignoreList":[0]}
@@ -4,7 +4,7 @@ import f from "react";
4
4
  import { T as F } from "./index-BVqs-uqP.js";
5
5
  import { d as T, e as N, b as v, a as b } from "./FormHeader-PE63OqG9.js";
6
6
  import { B as h } from "./Button-_qdP4hSf.js";
7
- import { a as k } from "./CheckboxField-Ca48ZYoX.js";
7
+ import { a as k } from "./CheckboxField-xDqHgXHh.js";
8
8
  import { e as y } from "./useBreakpoints-DHvp74UL.js";
9
9
  const H = F({
10
10
  slots: {
@@ -85,4 +85,4 @@ export {
85
85
  z as F,
86
86
  R as a
87
87
  };
88
- //# sourceMappingURL=FormFooterTemplate-BIwnBQhL.js.map
88
+ //# sourceMappingURL=FormFooterTemplate-CHlas_Pp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormFooterTemplate-BIwnBQhL.js","sources":["../src/components/form/templates/header-template/FormHeaderTemplate.tsx","../src/components/form/templates/footer-template/FormFooterTemplate.tsx"],"sourcesContent":["import { FeatureIcon } from \"@/components/icon/feature-icon/FeatureIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport React, { HTMLAttributes, PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormDescription, FormHeader, FormTitle } from \"../../components/form-header/FormHeader\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface FormHeaderTemplateVariants {\r\n\talignment?: \"compact\" | \"left\" | \"center\";\r\n}\r\n\r\nconst formHeaderTemplateStyles = tv({\r\n\tslots: {\r\n\t\theader: \"flex items-start gap-4\",\r\n\t\tcontentWrapper: \"flex flex-col gap-px lg:gap-1.5\",\r\n\t\ticon: \"shrink-0 rounded-lg ring-0\"\r\n\t},\r\n\tvariants: {\r\n\t\talignment: {\r\n\t\t\tcompact: {\r\n\t\t\t\theader: \"flex-row pr-9\"\r\n\t\t\t},\r\n\t\t\tleft: {\r\n\t\t\t\theader: \"flex-col gap-2 lg:gap-4\",\r\n\t\t\t\tcontentWrapper: \"gap-0.5 lg:gap-1\"\r\n\t\t\t},\r\n\t\t\tcenter: {\r\n\t\t\t\theader: \"flex-col items-center gap-2 text-center lg:gap-4\",\r\n\t\t\t\tcontentWrapper: \"gap-0.5 lg:gap-1\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<FormHeaderTemplateVariants>,\r\n\tdefaultVariants: {\r\n\t\talignment: \"compact\"\r\n\t}\r\n});\r\n\r\nexport type BaseHeaderTemplateProps = Omit<HTMLAttributes<HTMLDivElement>, \"title\"> &\r\n\tFormHeaderTemplateVariants & {\r\n\t\t/** Заголовок формы */\r\n\t\ttitle: React.ReactNode;\r\n\t\t/** Описание формы */\r\n\t\tdescription?: React.ReactNode;\r\n\t\t/** Иконка заголовка */\r\n\t\ticon?: LucideIcon;\r\n\t\t/** Кастомная иконка заголовка */\r\n\t\tcustomIcon?: React.ReactNode;\r\n\t};\r\n\r\nexport const BaseHeaderTemplate = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseHeaderTemplateProps>>(\r\n\t({ className, icon: Icon, title, alignment, description, customIcon, ...props }, ref) => {\r\n\t\tconst { header, contentWrapper, icon } = formHeaderTemplateStyles({ alignment });\r\n\r\n\t\treturn (\r\n\t\t\t<FormHeader ref={ref} className={header({ class: className })} {...props}>\r\n\t\t\t\t{Icon && <FeatureIcon size=\"xl\" icon={Icon} className={icon()} />}\r\n\t\t\t\t{customIcon && customIcon}\r\n\t\t\t\t<div className={contentWrapper()}>\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{description}\r\n\t\t\t\t</div>\r\n\t\t\t</FormHeader>\r\n\t\t);\r\n\t}\r\n);\r\n\r\n/**\r\n * Темплейт заголовка формы. Содержит иконку, заголовок и описание.\r\n * Имеет различные варианты расположения элементов\r\n */\r\nexport const FormHeaderTemplate = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseHeaderTemplateProps>>(\r\n\t({ title, description, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<BaseHeaderTemplate\r\n\t\t\t\ttitle={<FormTitle>{title}</FormTitle>}\r\n\t\t\t\tdescription={<FormDescription>{description}</FormDescription>}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormHeaderTemplate.displayName = \"FormHeaderTemplate\";\r\n","import { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { CheckboxField, CheckboxFieldProps } from \"@/components/checkbox/checkbox-field/CheckboxField\";\r\nimport { useIsMobile } from \"@/hooks/useBreakpoints\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormFooter } from \"../../components/form-footer/FormFooter\";\r\n\r\nconst formFooterTemplateStyles = tv({\r\n\tslots: {\r\n\t\tcontainer: \"flex w-full flex-col gap-3 lg:flex-row\",\r\n\t\tstartBlock: \"flex items-center py-1 lg:py-2.5\",\r\n\t\tendBlock: \"ml-auto flex w-full flex-col gap-3 lg:w-auto lg:flex-row\"\r\n\t}\r\n});\r\n\r\nexport interface FormFooterTemplateProps {\r\n\t/** Дополнительные классы */\r\n\tclassName?: string;\r\n\t/** Текст для чекбокса */\r\n\tcheckboxLabel?: string;\r\n\t/** Пропсы для чекбокса */\r\n\tcheckboxProps?: CheckboxFieldProps;\r\n\t/** Основная кнопка */\r\n\tprimaryButton?: React.ReactNode;\r\n\t/** Пропсы для основной кнопки */\r\n\tprimaryButtonProps?: ButtonProps;\r\n\t/** Вторичная кнопка */\r\n\tsecondaryButton?: React.ReactNode;\r\n\t/** Пропсы для вторичной кнопки */\r\n\tsecondaryButtonProps?: ButtonProps;\r\n}\r\n\r\n/**\r\n * Темплейт футера формы. Содержит чекбокс и 2 кнопки, которыми можно управлять.\r\n * Адаптивен к размерам устройств\r\n */\r\nexport const FormFooterTemplate = React.forwardRef<HTMLDivElement, FormFooterTemplateProps>(\r\n\t(\r\n\t\t{\r\n\t\t\tclassName,\r\n\t\t\tprimaryButton,\r\n\t\t\tsecondaryButton,\r\n\t\t\tcheckboxLabel,\r\n\t\t\tcheckboxProps,\r\n\t\t\tprimaryButtonProps,\r\n\t\t\tsecondaryButtonProps\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst isMobile = useIsMobile();\r\n\t\tconst { container, startBlock, endBlock } = formFooterTemplateStyles();\r\n\r\n\t\tif (isMobile) {\r\n\t\t\tprimaryButtonProps = { ...primaryButtonProps, size: \"xl\" };\r\n\t\t\tsecondaryButtonProps = { ...secondaryButtonProps, size: \"xl\" };\r\n\t\t}\r\n\t\tconst primaryButtonElement = primaryButton && (\r\n\t\t\t<Button key=\"primary-button\" variant=\"primary\" {...primaryButtonProps}>\r\n\t\t\t\t{primaryButton}\r\n\t\t\t</Button>\r\n\t\t);\r\n\r\n\t\tconst secondaryButtonElement = secondaryButton && (\r\n\t\t\t<Button key=\"secondary-button\" variant=\"outline\" {...secondaryButtonProps}>\r\n\t\t\t\t{secondaryButton}\r\n\t\t\t</Button>\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t<FormFooter className={className} ref={ref}>\r\n\t\t\t\t<div className={container()}>\r\n\t\t\t\t\t{checkboxLabel && (\r\n\t\t\t\t\t\t<div className={startBlock()}>\r\n\t\t\t\t\t\t\t<CheckboxField label={checkboxLabel} {...checkboxProps} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t<div className={endBlock()}>\r\n\t\t\t\t\t\t{isMobile\r\n\t\t\t\t\t\t\t? [primaryButtonElement, secondaryButtonElement]\r\n\t\t\t\t\t\t\t: [secondaryButtonElement, primaryButtonElement]}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</FormFooter>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormFooterTemplate.displayName = \"FormFooterTemplate\";\r\n"],"names":["formHeaderTemplateStyles","tv","BaseHeaderTemplate","React","className","Icon","title","alignment","description","customIcon","props","ref","header","contentWrapper","icon","jsxs","FormHeader","jsx","FeatureIcon","FormHeaderTemplate","FormTitle","FormDescription","formFooterTemplateStyles","FormFooterTemplate","primaryButton","secondaryButton","checkboxLabel","checkboxProps","primaryButtonProps","secondaryButtonProps","isMobile","useIsMobile","container","startBlock","endBlock","primaryButtonElement","Button","secondaryButtonElement","FormFooter","CheckboxField"],"mappings":"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"}
1
+ {"version":3,"file":"FormFooterTemplate-CHlas_Pp.js","sources":["../src/components/form/templates/header-template/FormHeaderTemplate.tsx","../src/components/form/templates/footer-template/FormFooterTemplate.tsx"],"sourcesContent":["import { FeatureIcon } from \"@/components/icon/feature-icon/FeatureIcon\";\r\nimport { LucideIcon } from \"lucide-react\";\r\nimport React, { HTMLAttributes, PropsWithChildren } from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormDescription, FormHeader, FormTitle } from \"../../components/form-header/FormHeader\";\r\nimport { VariantsConfig } from \"@/lib/utils/variants\";\r\n\r\nexport interface FormHeaderTemplateVariants {\r\n\talignment?: \"compact\" | \"left\" | \"center\";\r\n}\r\n\r\nconst formHeaderTemplateStyles = tv({\r\n\tslots: {\r\n\t\theader: \"flex items-start gap-4\",\r\n\t\tcontentWrapper: \"flex flex-col gap-px lg:gap-1.5\",\r\n\t\ticon: \"shrink-0 rounded-lg ring-0\"\r\n\t},\r\n\tvariants: {\r\n\t\talignment: {\r\n\t\t\tcompact: {\r\n\t\t\t\theader: \"flex-row pr-9\"\r\n\t\t\t},\r\n\t\t\tleft: {\r\n\t\t\t\theader: \"flex-col gap-2 lg:gap-4\",\r\n\t\t\t\tcontentWrapper: \"gap-0.5 lg:gap-1\"\r\n\t\t\t},\r\n\t\t\tcenter: {\r\n\t\t\t\theader: \"flex-col items-center gap-2 text-center lg:gap-4\",\r\n\t\t\t\tcontentWrapper: \"gap-0.5 lg:gap-1\"\r\n\t\t\t}\r\n\t\t}\r\n\t} satisfies VariantsConfig<FormHeaderTemplateVariants>,\r\n\tdefaultVariants: {\r\n\t\talignment: \"compact\"\r\n\t}\r\n});\r\n\r\nexport type BaseHeaderTemplateProps = Omit<HTMLAttributes<HTMLDivElement>, \"title\"> &\r\n\tFormHeaderTemplateVariants & {\r\n\t\t/** Заголовок формы */\r\n\t\ttitle: React.ReactNode;\r\n\t\t/** Описание формы */\r\n\t\tdescription?: React.ReactNode;\r\n\t\t/** Иконка заголовка */\r\n\t\ticon?: LucideIcon;\r\n\t\t/** Кастомная иконка заголовка */\r\n\t\tcustomIcon?: React.ReactNode;\r\n\t};\r\n\r\nexport const BaseHeaderTemplate = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseHeaderTemplateProps>>(\r\n\t({ className, icon: Icon, title, alignment, description, customIcon, ...props }, ref) => {\r\n\t\tconst { header, contentWrapper, icon } = formHeaderTemplateStyles({ alignment });\r\n\r\n\t\treturn (\r\n\t\t\t<FormHeader ref={ref} className={header({ class: className })} {...props}>\r\n\t\t\t\t{Icon && <FeatureIcon size=\"xl\" icon={Icon} className={icon()} />}\r\n\t\t\t\t{customIcon && customIcon}\r\n\t\t\t\t<div className={contentWrapper()}>\r\n\t\t\t\t\t{title}\r\n\t\t\t\t\t{description}\r\n\t\t\t\t</div>\r\n\t\t\t</FormHeader>\r\n\t\t);\r\n\t}\r\n);\r\n\r\n/**\r\n * Темплейт заголовка формы. Содержит иконку, заголовок и описание.\r\n * Имеет различные варианты расположения элементов\r\n */\r\nexport const FormHeaderTemplate = React.forwardRef<HTMLDivElement, PropsWithChildren<BaseHeaderTemplateProps>>(\r\n\t({ title, description, ...props }, ref) => {\r\n\t\treturn (\r\n\t\t\t<BaseHeaderTemplate\r\n\t\t\t\ttitle={<FormTitle>{title}</FormTitle>}\r\n\t\t\t\tdescription={<FormDescription>{description}</FormDescription>}\r\n\t\t\t\tref={ref}\r\n\t\t\t\t{...props}\r\n\t\t\t/>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormHeaderTemplate.displayName = \"FormHeaderTemplate\";\r\n","import { Button, ButtonProps } from \"@/components/button/button/Button\";\r\nimport { CheckboxField, CheckboxFieldProps } from \"@/components/checkbox/checkbox-field/CheckboxField\";\r\nimport { useIsMobile } from \"@/hooks/useBreakpoints\";\r\nimport React from \"react\";\r\nimport { tv } from \"tailwind-variants\";\r\nimport { FormFooter } from \"../../components/form-footer/FormFooter\";\r\n\r\nconst formFooterTemplateStyles = tv({\r\n\tslots: {\r\n\t\tcontainer: \"flex w-full flex-col gap-3 lg:flex-row\",\r\n\t\tstartBlock: \"flex items-center py-1 lg:py-2.5\",\r\n\t\tendBlock: \"ml-auto flex w-full flex-col gap-3 lg:w-auto lg:flex-row\"\r\n\t}\r\n});\r\n\r\nexport interface FormFooterTemplateProps {\r\n\t/** Дополнительные классы */\r\n\tclassName?: string;\r\n\t/** Текст для чекбокса */\r\n\tcheckboxLabel?: string;\r\n\t/** Пропсы для чекбокса */\r\n\tcheckboxProps?: CheckboxFieldProps;\r\n\t/** Основная кнопка */\r\n\tprimaryButton?: React.ReactNode;\r\n\t/** Пропсы для основной кнопки */\r\n\tprimaryButtonProps?: ButtonProps;\r\n\t/** Вторичная кнопка */\r\n\tsecondaryButton?: React.ReactNode;\r\n\t/** Пропсы для вторичной кнопки */\r\n\tsecondaryButtonProps?: ButtonProps;\r\n}\r\n\r\n/**\r\n * Темплейт футера формы. Содержит чекбокс и 2 кнопки, которыми можно управлять.\r\n * Адаптивен к размерам устройств\r\n */\r\nexport const FormFooterTemplate = React.forwardRef<HTMLDivElement, FormFooterTemplateProps>(\r\n\t(\r\n\t\t{\r\n\t\t\tclassName,\r\n\t\t\tprimaryButton,\r\n\t\t\tsecondaryButton,\r\n\t\t\tcheckboxLabel,\r\n\t\t\tcheckboxProps,\r\n\t\t\tprimaryButtonProps,\r\n\t\t\tsecondaryButtonProps\r\n\t\t},\r\n\t\tref\r\n\t) => {\r\n\t\tconst isMobile = useIsMobile();\r\n\t\tconst { container, startBlock, endBlock } = formFooterTemplateStyles();\r\n\r\n\t\tif (isMobile) {\r\n\t\t\tprimaryButtonProps = { ...primaryButtonProps, size: \"xl\" };\r\n\t\t\tsecondaryButtonProps = { ...secondaryButtonProps, size: \"xl\" };\r\n\t\t}\r\n\t\tconst primaryButtonElement = primaryButton && (\r\n\t\t\t<Button key=\"primary-button\" variant=\"primary\" {...primaryButtonProps}>\r\n\t\t\t\t{primaryButton}\r\n\t\t\t</Button>\r\n\t\t);\r\n\r\n\t\tconst secondaryButtonElement = secondaryButton && (\r\n\t\t\t<Button key=\"secondary-button\" variant=\"outline\" {...secondaryButtonProps}>\r\n\t\t\t\t{secondaryButton}\r\n\t\t\t</Button>\r\n\t\t);\r\n\r\n\t\treturn (\r\n\t\t\t<FormFooter className={className} ref={ref}>\r\n\t\t\t\t<div className={container()}>\r\n\t\t\t\t\t{checkboxLabel && (\r\n\t\t\t\t\t\t<div className={startBlock()}>\r\n\t\t\t\t\t\t\t<CheckboxField label={checkboxLabel} {...checkboxProps} />\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t)}\r\n\t\t\t\t\t<div className={endBlock()}>\r\n\t\t\t\t\t\t{isMobile\r\n\t\t\t\t\t\t\t? [primaryButtonElement, secondaryButtonElement]\r\n\t\t\t\t\t\t\t: [secondaryButtonElement, primaryButtonElement]}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</FormFooter>\r\n\t\t);\r\n\t}\r\n);\r\n\r\nFormFooterTemplate.displayName = \"FormFooterTemplate\";\r\n"],"names":["formHeaderTemplateStyles","tv","BaseHeaderTemplate","React","className","Icon","title","alignment","description","customIcon","props","ref","header","contentWrapper","icon","jsxs","FormHeader","jsx","FeatureIcon","FormHeaderTemplate","FormTitle","FormDescription","formFooterTemplateStyles","FormFooterTemplate","primaryButton","secondaryButton","checkboxLabel","checkboxProps","primaryButtonProps","secondaryButtonProps","isMobile","useIsMobile","container","startBlock","endBlock","primaryButtonElement","Button","secondaryButtonElement","FormFooter","CheckboxField"],"mappings":"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"}