@elcrm/form 0.1.11 → 0.1.13

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.
package/dist/package.js CHANGED
@@ -1 +1 @@
1
- var e={name:`@elcrm/form`,version:`0.1.11`,description:`React-компоненты полей формы и хук useForm для elCRM: текст, даты, маски, деньги, селект, связка с формой по имени поля (tree-shakeable ESM).`,type:`module`,author:`MaSkal <dev@elcrm.online>`,license:`MIT`,repository:{type:`git`,url:`https://elgit.ru/lib/elCRM.form.git`},homepage:`https://www.npmjs.com/package/@elcrm/form`,publishConfig:{access:`public`},engines:{node:`>=18`},files:[`dist`],keywords:[`elcrm`,`form`,`react`,`fields`,`useForm`,`input`],sideEffects:[`./dist/index.js`,`./dist/core/Field.js`,`**/*.css`,`**/*.module.css`],main:`./dist/index.umd.js`,module:`./dist/index.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/index.js`,require:`./dist/index.umd.js`},"./fields/*":{types:`./dist/fields/*.d.ts`,import:`./dist/fields/*.js`},"./hooks/*":{types:`./dist/hooks/*.d.ts`,import:`./dist/hooks/*.js`},"./events/*":{types:`./dist/events/*.d.ts`,import:`./dist/events/*.js`},"./core/*":{types:`./dist/core/*.d.ts`,import:`./dist/core/*.js`},"./mask/*":{types:`./dist/mask/*.d.ts`,import:`./dist/mask/*.js`},"./Form":{types:`./dist/Form.d.ts`,import:`./dist/Form.js`},"./FormInitContext":{types:`./dist/FormInitContext.d.ts`,import:`./dist/FormInitContext.js`},"./style.css":{import:`./dist/style.css`,require:`./dist/style.css`,default:`./dist/style.css`},"./light.css":{import:`./dist/light.css`,require:`./dist/light.css`,default:`./dist/light.css`},"./dark.css":{import:`./dist/dark.css`,require:`./dist/dark.css`,default:`./dist/dark.css`},"./dist/style.css":{import:`./dist/style.css`,require:`./dist/style.css`,default:`./dist/style.css`},"./package.json":`./package.json`},scripts:{dev:`vite --config test/vite.config.ts`,build:`node scripts/build.mjs`,"check:css":`node scripts/check-css-scoped.mjs`,test:`vitest run`,"test:watch":`vitest`,"test:build":`vite build --config test/vite.config.ts`,"test:preview":`vite preview --config test/vite.config.ts`,prepublishOnly:`npm run check:css && vitest run && node scripts/build.mjs`,"pack:check":`npm pack --dry-run`,link:`bun run link:local`},peerDependencies:{"@types/react":`>=18.0.0`,react:`>=18.0.0`,"react-dom":`>=18.0.0`},peerDependenciesMeta:{"@types/react":{optional:!0}},devDependencies:{"@elcrm/storybook":`^0.0.3`,"@testing-library/dom":`^10.4.1`,"@testing-library/jest-dom":`^6.6.3`,"@testing-library/react":`^16.3.2`,"@testing-library/user-event":`^14.6.1`,"@types/node":`^22.13.10`,"@types/react":`^19.2.14`,"@types/react-dom":`^19.2.3`,"@vitejs/plugin-react":`^6.0.1`,elcrm:`^1.0.0`,jsdom:`^29.0.1`,react:`^19.2.4`,"react-dom":`^19.2.4`,typescript:`^5.8.2`,vite:`^8.0.1`,"vite-plugin-dts":`^4.0.3`,"vite-plugin-dynamic-import":`^1.6.0`,"vite-plugin-lib-inject-css":`^2.1.1`,vitest:`^4.1.0`}};export{e as default};
1
+ var e={name:`@elcrm/form`,version:`0.1.13`,description:`React-компоненты полей формы и хук useForm для elCRM: текст, даты, маски, деньги, селект, связка с формой по имени поля (tree-shakeable ESM).`,type:`module`,author:`MaSkal <dev@elcrm.online>`,license:`MIT`,repository:{type:`git`,url:`https://elgit.ru/lib/elCRM.form.git`},homepage:`https://www.npmjs.com/package/@elcrm/form`,publishConfig:{access:`public`},engines:{node:`>=18`},files:[`dist`],keywords:[`elcrm`,`form`,`react`,`fields`,`useForm`,`input`],sideEffects:[`./dist/index.js`,`./dist/core/Field.js`,`**/*.css`,`**/*.module.css`],main:`./dist/index.umd.js`,module:`./dist/index.js`,types:`./dist/index.d.ts`,exports:{".":{types:`./dist/index.d.ts`,import:`./dist/index.js`,require:`./dist/index.umd.js`},"./fields/*":{types:`./dist/fields/*.d.ts`,import:`./dist/fields/*.js`},"./hooks/*":{types:`./dist/hooks/*.d.ts`,import:`./dist/hooks/*.js`},"./events/*":{types:`./dist/events/*.d.ts`,import:`./dist/events/*.js`},"./core/*":{types:`./dist/core/*.d.ts`,import:`./dist/core/*.js`},"./mask/*":{types:`./dist/mask/*.d.ts`,import:`./dist/mask/*.js`},"./Form":{types:`./dist/Form.d.ts`,import:`./dist/Form.js`},"./FormInitContext":{types:`./dist/FormInitContext.d.ts`,import:`./dist/FormInitContext.js`},"./style.css":{import:`./dist/style.css`,require:`./dist/style.css`,default:`./dist/style.css`},"./light.css":{import:`./dist/light.css`,require:`./dist/light.css`,default:`./dist/light.css`},"./dark.css":{import:`./dist/dark.css`,require:`./dist/dark.css`,default:`./dist/dark.css`},"./tokens.css":{import:`./dist/tokens.css`,require:`./dist/tokens.css`,default:`./dist/tokens.css`},"./dist/style.css":{import:`./dist/style.css`,require:`./dist/style.css`,default:`./dist/style.css`},"./package.json":`./package.json`},scripts:{dev:`vite --config test/vite.config.ts`,build:`node scripts/build.mjs`,"check:css":`node scripts/check-css-scoped.mjs`,test:`vitest run`,"test:watch":`vitest`,"test:build":`vite build --config test/vite.config.ts`,"test:preview":`vite preview --config test/vite.config.ts`,prepublishOnly:`npm run check:css && vitest run && node scripts/build.mjs`,"pack:check":`npm pack --dry-run`,link:`bun run link:local`},peerDependencies:{"@types/react":`>=18.0.0`,react:`>=18.0.0`,"react-dom":`>=18.0.0`},peerDependenciesMeta:{"@types/react":{optional:!0}},devDependencies:{"@elcrm/storybook":`^0.0.3`,"@testing-library/dom":`^10.4.1`,"@testing-library/jest-dom":`^6.6.3`,"@testing-library/react":`^16.3.2`,"@testing-library/user-event":`^14.6.1`,"@types/node":`^22.13.10`,"@types/react":`^19.2.14`,"@types/react-dom":`^19.2.3`,"@vitejs/plugin-react":`^6.0.1`,elcrm:`^1.0.0`,jsdom:`^29.0.1`,react:`^19.2.4`,"react-dom":`^19.2.4`,typescript:`^5.8.2`,vite:`^8.0.1`,"vite-plugin-dts":`^4.0.3`,"vite-plugin-dynamic-import":`^1.6.0`,"vite-plugin-lib-inject-css":`^2.1.1`,vitest:`^4.1.0`}};export{e as default};
package/dist/style.css CHANGED
@@ -1,4 +1,4 @@
1
- @layer elcrm-form{.ffl{min-width:var(--field-width);gap:var(--field-block-gap);flex-direction:column;margin:0;padding:0;display:flex;position:relative}.ffl[data-size=s],.ffl[data-size=sm]{--field-height:var(--control-height-s);--control-height:var(--control-height-s);--field-icon-size:16px;--field-check-size:18px;--field-radio-size:16px;--field-rating-size:18px;font-size:13px}.ffl[data-size=l]{--field-height:var(--control-height-l);--control-height:var(--control-height-l);--field-icon-size:24px;--field-check-size:26px;--field-radio-size:24px;--field-rating-size:26px}.ffl>.fft,.ffl>.fff,.ffl>.ffm{margin:0}:is(.ffl[data-field=group],.ffl[data-field=options]) .fff>div{cursor:pointer;border-bottom:var(--field-border);margin:0;padding:0}:is(.ffl[data-field=group],.ffl[data-field=options]) .fff>div:last-child{border-bottom:0}.ffl [placeholder]:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;pointer-events:none;font-style:normal;font-weight:400;display:block}.ffl [placeholder]:focus:before{display:none}.fff{box-sizing:border-box;align-items:stretch;gap:var(--field-icon-gap);border:var(--field-border);border-radius:var(--field-radius);background:var(--field-background);color:var(--field-color);padding:var(--field-padding);min-height:var(--field-height);transition:border-color .16s,box-shadow .16s,background-color .16s,opacity .16s;display:flex;overflow:hidden}.fff:hover{border-color:var(--field-border-hover)}.fff:focus-within{border-color:var(--field-border-focus);box-shadow:var(--field-focus-shadow);background:var(--field-background-focus)}.fff.ffe:focus-within{background:var(--field-error-background);color:var(--field-error-color)}.fff[data-disabled=true]{background:var(--field-background-disabled);border-color:var(--field-border-disabled);color:var(--field-color-disabled);cursor:not-allowed;opacity:.85;-webkit-user-select:none;user-select:none}.fff[data-disabled=true]>*{cursor:not-allowed;pointer-events:none}.fff[data-disabled=true]:focus-within{border-color:var(--field-border-disabled);box-shadow:none;background:var(--field-background-disabled)}.fff>div{min-width:0;min-height:0;line-height:1.25;font-size:var(--control-font-size);text-wrap:pretty;outline:0;flex:1;margin:0;padding:0}.fff>div::selection{background:var(--field-selection-bg);color:var(--field-selection-color)}.fff>:not(div){box-sizing:border-box;height:auto;min-height:0;max-height:none;color:var(--field-icon-color);flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}.fff>:not(div) svg{width:var(--field-icon-size);height:var(--field-icon-size);flex-shrink:0;display:block}.fff input::placeholder,.fff textarea::placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff input::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff textarea::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff input::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff textarea::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff input:-webkit-autofill{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill:hover{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill:focus{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill:active{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important}.fff [contenteditable=true],.fff [contenteditable=plaintext-only],.fff>div{scrollbar-width:none;-ms-overflow-style:none}:is(.fff [contenteditable=true],.fff [contenteditable=plaintext-only],.fff>div)::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.ffn{min-height:var(--field-note-height);align-items:stretch}.ffn>div{min-height:0;line-height:var(--field-note-line-height);scrollbar-width:none;-ms-overflow-style:none;padding:0;overflow:hidden auto}.ffn>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.ffw>div{box-sizing:border-box;height:auto;min-height:0;max-height:none;line-height:calc(var(--field-height) - 2 * var(--field-padding-block));text-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;align-self:stretch;overflow:auto hidden}.ffw>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.ffw>div input{box-sizing:border-box;height:100%;min-height:0;max-height:100%;line-height:normal}.fft{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:var(--field-label-gap);cursor:default;display:block}.ffx{flex:1;align-items:center;min-width:0;display:flex}.ffy{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.ffy:-webkit-autofill{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffy:-webkit-autofill:hover{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffy:-webkit-autofill:focus{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffy:-webkit-autofill:active{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffa{box-sizing:border-box;height:auto;min-height:0;max-height:none;color:var(--field-icon-color);font-size:inherit;-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.ffa:disabled{cursor:not-allowed;opacity:.6}.ffa svg{width:var(--field-icon-size);height:var(--field-icon-size);flex-shrink:0;display:block}@keyframes ffspin{to{transform:rotate(360deg)}}.ffj{animation:.55s ease-in-out ffspin}@media (prefers-reduced-motion:reduce){.ffj{animation:none}}.ffg{gap:var(--field-padding-block);flex-direction:column;align-items:stretch}.ffr>div{box-sizing:border-box;flex:1;align-items:center;min-width:0;min-height:0;line-height:normal;display:flex}.ffr .ffk{box-sizing:border-box;width:100%;height:var(--field-range-bar-height);background:var(--field-range-track);cursor:pointer;touch-action:none;border-radius:999px;outline:none;flex-shrink:0;position:relative;overflow:hidden}.ffr .ffk:focus-visible{box-shadow:var(--field-focus-shadow)}.ffr .ffk[data-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.ffr .ffu{background:var(--field-range-fill);pointer-events:none;border-radius:999px 0 0 999px;width:0;min-width:0;height:100%}.ffr .ffv{border-radius:999px}.ffr[data-variant=line]{border-radius:0;overflow:visible;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.ffr[data-variant=line]:hover,.ffr[data-variant=line]:focus-within{box-shadow:none!important;background:0 0!important;border:none!important}.ffr[data-variant=line]>div{min-height:calc(var(--field-range-thumb-size) + 6px);overflow:visible}.ffr[data-variant=line] .ffk{height:var(--field-range-line-height);background:var(--field-range-track);overflow:visible}.ffr[data-variant=line] .ffu{display:none}.ffr[data-variant=line] .ffh{width:var(--field-range-thumb-size);height:var(--field-range-thumb-size);background:var(--field-range-thumb);pointer-events:none;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ffe{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}.ffm{color:var(--field-error-color);font-size:var(--field-error-size);margin-top:var(--field-error-gap);font-style:normal}.ffd{cursor:default}.ffd>div{color:inherit;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;overflow:hidden}.ffd[data-multiline=true]>div{white-space:pre-wrap;text-overflow:unset;overflow-wrap:anywhere;overflow-y:auto}.ffz{color:var(--field-placeholder)}}
1
+ @layer elcrm-form{.ffl{min-width:var(--field-width);gap:var(--field-block-gap);flex-direction:column;margin:0;padding:0;display:flex;position:relative}.ffl[data-size=s],.ffl[data-size=sm]{--field-height:var(--control-height-s);--control-height:var(--control-height-s);--field-icon-size:16px;--field-check-size:18px;--field-radio-size:16px;--field-rating-size:18px;font-size:13px}.ffl[data-size=l]{--field-height:var(--control-height-l);--control-height:var(--control-height-l);--field-icon-size:24px;--field-check-size:26px;--field-radio-size:24px;--field-rating-size:26px}.ffl>.fft,.ffl>.fff,.ffl>.ffm{margin:0}.ffl[data-field=group] .fff>div{cursor:pointer;border-bottom:var(--field-border);margin:0;padding:0}.ffl[data-field=group] .fff>div:last-child{border-bottom:0}.ffl[data-field=options]{width:100%}.ffl[data-field=options] .fff{box-sizing:border-box;flex-direction:column;align-self:stretch;align-items:stretch;gap:0;width:100%;min-height:0;padding:0}.ffl[data-field=options] .fff>div{box-sizing:border-box;width:100%;min-width:0;padding:var(--field-padding);border-bottom:var(--field-border);cursor:pointer;flex:none;margin:0;line-height:1.35}.ffl[data-field=options] .fff>div:last-child{border-bottom:0}.ffl[data-field=options] .fff>div[data-empty=true]{color:var(--field-placeholder);border-bottom:0;font-weight:400}.ffl [placeholder]:empty:before{content:attr(placeholder);color:var(--field-placeholder);opacity:1;pointer-events:none;font-style:normal;font-weight:400;display:block}.ffl [placeholder]:focus:before{display:none}.fff{box-sizing:border-box;align-items:stretch;gap:var(--field-icon-gap);border:var(--field-border);border-radius:var(--field-radius);background:var(--field-background);color:var(--field-color);padding:var(--field-padding);min-height:var(--field-height);transition:border-color .16s,box-shadow .16s,background-color .16s,opacity .16s;display:flex;overflow:hidden}.fff:hover{border-color:var(--field-border-hover)}.fff:focus-within{border-color:var(--field-border-focus);box-shadow:var(--field-focus-shadow);background:var(--field-background-focus)}.fff.ffe:focus-within{background:var(--field-error-background);color:var(--field-error-color)}.fff[data-disabled=true]{background:var(--field-background-disabled);border-color:var(--field-border-disabled);color:var(--field-color-disabled);cursor:not-allowed;opacity:.85;-webkit-user-select:none;user-select:none}.fff[data-disabled=true]>*{cursor:not-allowed;pointer-events:none}.fff[data-disabled=true]:focus-within{border-color:var(--field-border-disabled);box-shadow:none;background:var(--field-background-disabled)}.fff>div{min-width:0;min-height:0;line-height:1.25;font-size:var(--control-font-size);text-wrap:pretty;outline:0;flex:1;margin:0;padding:0}.fff>div::selection{background:var(--field-selection-bg);color:var(--field-selection-color)}.fff>:not(div){box-sizing:border-box;height:auto;min-height:0;max-height:none;color:var(--field-icon-color);flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}.fff>:not(div) svg{width:var(--field-icon-size);height:var(--field-icon-size);flex-shrink:0;display:block}.fff input::placeholder,.fff textarea::placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff input::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff textarea::-webkit-input-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff input::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff textarea::-moz-placeholder{color:var(--field-placeholder);opacity:1;font-weight:400}.fff input:-webkit-autofill{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill:hover{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill:focus{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill:active{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;font-size:inherit!important;line-height:inherit!important;background-color:#0000!important;background-image:none!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.fff input:-webkit-autofill{-webkit-background-clip:text!important;background-clip:text!important}.fff [contenteditable=true],.fff [contenteditable=plaintext-only],.fff>div{scrollbar-width:none;-ms-overflow-style:none}:is(.fff [contenteditable=true],.fff [contenteditable=plaintext-only],.fff>div)::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.ffn{min-height:var(--field-note-height);align-items:stretch}.ffn>div{min-height:0;line-height:var(--field-note-line-height);scrollbar-width:none;-ms-overflow-style:none;padding:0;overflow:hidden auto}.ffn>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.ffw>div{box-sizing:border-box;height:auto;min-height:0;max-height:none;line-height:calc(var(--field-height) - 2 * var(--field-padding-block));text-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;align-self:stretch;overflow:auto hidden}.ffw>div::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.ffw>div input{box-sizing:border-box;height:100%;min-height:0;max-height:100%;line-height:normal}.fft{color:var(--field-label-color);font-size:var(--field-label-size);padding-bottom:var(--field-label-gap);cursor:default;display:block}.ffx{flex:1;align-items:center;min-width:0;display:flex}.ffy{box-sizing:border-box;width:100%;font:inherit;color:inherit;background:0 0;border:none;outline:none;margin:0;padding:0}.ffy:-webkit-autofill{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffy:-webkit-autofill:hover{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffy:-webkit-autofill:focus{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffy:-webkit-autofill:active{caret-color:var(--field-color);-webkit-text-fill-color:var(--field-color)!important;color:var(--field-color)!important;-webkit-box-shadow:none!important;box-shadow:none!important;background-color:#0000!important;background-image:none!important;-webkit-background-clip:text!important;background-clip:text!important;transition:background-color 99999s ease-out,background-image 99999s ease-out!important}.ffa{box-sizing:border-box;height:auto;min-height:0;max-height:none;color:var(--field-icon-color);font-size:inherit;-webkit-user-select:none;user-select:none;cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-self:center;align-items:center;margin:0;padding:0;line-height:1;display:inline-flex}.ffa:disabled{cursor:not-allowed;opacity:.6}.ffa svg{width:var(--field-icon-size);height:var(--field-icon-size);flex-shrink:0;display:block}@keyframes ffspin{to{transform:rotate(360deg)}}.ffj{animation:.55s ease-in-out ffspin}@media (prefers-reduced-motion:reduce){.ffj{animation:none}}.ffg{gap:var(--field-padding-block);flex-direction:column;align-items:stretch}.ffr>div{box-sizing:border-box;flex:1;align-items:center;min-width:0;min-height:0;line-height:normal;display:flex}.ffr .ffk{box-sizing:border-box;width:100%;height:var(--field-range-bar-height);background:var(--field-range-track);cursor:pointer;touch-action:none;border-radius:999px;outline:none;flex-shrink:0;position:relative;overflow:hidden}.ffr .ffk:focus-visible{box-shadow:var(--field-focus-shadow)}.ffr .ffk[data-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.ffr .ffu{background:var(--field-range-fill);pointer-events:none;border-radius:999px 0 0 999px;width:0;min-width:0;height:100%}.ffr .ffv{border-radius:999px}.ffr[data-variant=line]{border-radius:0;overflow:visible;box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.ffr[data-variant=line]:hover,.ffr[data-variant=line]:focus-within{box-shadow:none!important;background:0 0!important;border:none!important}.ffr[data-variant=line]>div{min-height:calc(var(--field-range-thumb-size) + 6px);overflow:visible}.ffr[data-variant=line] .ffk{height:var(--field-range-line-height);background:var(--field-range-track);overflow:visible}.ffr[data-variant=line] .ffu{display:none}.ffr[data-variant=line] .ffh{width:var(--field-range-thumb-size);height:var(--field-range-thumb-size);background:var(--field-range-thumb);pointer-events:none;border-radius:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ffe{border-color:var(--field-error-border);background:var(--field-error-background);color:var(--field-error-color)}.ffm{color:var(--field-error-color);font-size:var(--field-error-size);margin-top:var(--field-error-gap);font-style:normal}.ffd{cursor:default}.ffd>div{color:inherit;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:text;user-select:text;overflow:hidden}.ffd[data-multiline=true]>div{white-space:pre-wrap;text-overflow:unset;overflow-wrap:anywhere;overflow-y:auto}.ffz{color:var(--field-placeholder)}}
2
2
 
3
3
  @layer elcrm-form{.fmo{z-index:var(--elcrm-z-popover);background:0 0;position:fixed;inset:0}.fmc{box-shadow:var(--popup-shadow);padding:var(--date-popup-padding);background:var(--select-background);z-index:var(--elcrm-z-popover-front);border-radius:var(--date-popup-radius);scrollbar-width:none;-ms-overflow-style:none;max-height:min(92vh,480px);margin:0;display:block;position:fixed;overflow:hidden auto}.fmc::-webkit-scrollbar{background:0 0;width:0;height:0;display:none}.fmc{color:var(--select-color);box-sizing:border-box;min-width:var(--date-popup-min-width)}.fmc [grid-calendar]{grid-template-columns:repeat(7,1fr);grid-auto-rows:var(--date-popup-row-height);gap:2px;display:grid}.fmc [grid-calendar]>p{color:var(--field-placeholder);box-sizing:border-box;justify-content:center;align-items:center;margin:0;padding:0;font-size:.75rem;font-weight:500;line-height:1;display:flex}.fmc [grid-month]{grid-template-columns:1fr 1fr 1fr 1fr;width:250px;display:grid}.fmc b{border-radius:var(--date-popup-cell-radius);cursor:pointer;text-align:center;padding:8px 5px;font-weight:400;display:block}.fmc b:hover{background:var(--select-li-hover-bg)}.fmc p{color:var(--field-placeholder);text-align:center;cursor:default;pointer-events:none;padding:0}.fmc i{text-align:center;cursor:pointer;border-radius:var(--date-popup-cell-radius);flex:0 30px;padding:9px}.fmc i:hover{background:var(--select-li-hover-bg)}.fmc i:before{cursor:pointer;display:block}.fmc s{align-items:center;gap:4px;padding-bottom:6px;font-style:normal;text-decoration:none;display:flex}.fmc s h2{text-align:center;min-width:0;color:var(--select-color);cursor:default;flex-wrap:nowrap;flex:auto;justify-content:center;align-items:center;gap:8px;margin:0;padding:0;font-size:16px;font-weight:400;line-height:1.25;display:flex}.fmc .fmh,.fmc .fmy{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:6px;padding:2px 8px}.fmc .fmh:hover,.fmc .fmy:hover{background:var(--select-li-hover-bg)}.fmc .fmd{cursor:not-allowed;opacity:.45;pointer-events:none}.fmc .fmd[data-active=true],.fmc .fmd[data-current=true]{opacity:.45}.fmc [grid-calendar] b[data-current=true],.fmc [grid-month] b[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);font-weight:600}.fmc [grid-calendar] b[data-active=true]:not([data-current=true]),.fmc [grid-month] b[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px}.fmc [grid-calendar] b[data-active=true][data-current=true],.fmc [grid-month] b[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}.fmc [grid-calendar] p[data-current=true]{background:color-mix(in srgb, var(--field-background-active) 52%, transparent);color:inherit;border-radius:var(--date-popup-cell-radius);font-weight:600}.fmc [grid-calendar] p[data-active=true]:not([data-current=true]){outline:2px solid var(--field-background-active);outline-offset:-2px;opacity:.85}.fmc [grid-calendar] p[data-active=true][data-current=true]{box-shadow:inset 0 0 0 2px var(--field-background-active)}.fmc span{text-align:center;padding:2px}.fmc span p{color:var(--field-placeholder);padding:8px 5px}.fmc [grid-calendar]>span{box-sizing:border-box;justify-content:stretch;align-items:stretch;min-height:0;padding:0;display:flex}.fmc [grid-calendar]>span>b,.fmc [grid-calendar]>span>p{box-sizing:border-box;border-radius:var(--date-popup-cell-radius);flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;margin:0;padding:0;display:flex}.fmc .fms{cursor:ns-resize}.fmc .fmp{cursor:pointer}}
4
4
 
@@ -0,0 +1,64 @@
1
+ :root {
2
+ /* База control / field: геометрия и размеры без цветовых решений. */
3
+ --control-height: 44px;
4
+ --control-height-s: 32px;
5
+ --control-height-l: 48px;
6
+ --control-radius: 12px;
7
+ --control-font-size: 17px;
8
+
9
+ --field-height: var(--control-height);
10
+ --field-width: 100%;
11
+ --field-padding-block: calc(var(--field-height) * 0.18);
12
+ --field-padding-inline: calc(var(--field-height) * 0.32);
13
+ --field-padding: var(--field-padding-block) var(--field-padding-inline);
14
+ --field-radius: var(--control-radius);
15
+ --field-label-size: 14px;
16
+ --field-label-gap: 10px;
17
+ --field-error-size: 12px;
18
+ --field-error-gap: 6px;
19
+ --field-check-size: 22px;
20
+ --field-icon-gap: 10px;
21
+ --field-icon-size: 20px;
22
+ --field-block-gap: 0;
23
+ --field-note-height: 100px;
24
+ --field-note-line-height: 1.5;
25
+
26
+ --field-group-gap: 12px;
27
+ --field-code-gap: 8px;
28
+ --field-code-size: var(--field-height);
29
+ --field-tabs-padding: 4px;
30
+ --field-tabs-gap: 4px;
31
+ --field-tabs-radius: 999px;
32
+ --field-tabs-item-radius: 999px;
33
+ --field-search-min-width: 200px;
34
+ --field-search-expand-min: 180px;
35
+ --field-search-list-max-height: 240px;
36
+ --field-rating-size: 22px;
37
+ --field-radio-size: 20px;
38
+ --field-range-bar-height: 14px;
39
+ --field-range-line-height: 2px;
40
+ --field-range-thumb-size: 12px;
41
+ --field-drag-min-height: 88px;
42
+
43
+ /* Popover / select / date / color geometry */
44
+ --elcrm-z-popover: 1000;
45
+ --elcrm-z-popover-front: 1001;
46
+ --select-height: 52px;
47
+ --select-font-size: var(--control-font-size);
48
+ --select-radius: 20px;
49
+ --select-max-height: 300px;
50
+ --popup-shadow: 0 6px 24px 0 #00000040;
51
+
52
+ --date-popup-radius: 10px;
53
+ --date-popup-min-width: 259px;
54
+ --date-popup-row-height: 34px;
55
+ --date-popup-cell-radius: 5px;
56
+ --date-popup-padding: 10px 12px 12px;
57
+
58
+ --color-picker-width: 260px;
59
+ --color-picker-radius: 16px;
60
+ --color-picker-input-radius: 5px;
61
+ --color-picker-pad: 10px;
62
+ --color-picker-swatch: 20px;
63
+ --color-picker-handle: 14px;
64
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elcrm/form",
3
- "version": "0.1.11",
3
+ "version": "0.1.13",
4
4
  "description": "React-компоненты полей формы и хук useForm для elCRM: текст, даты, маски, деньги, селект, связка с формой по имени поля (tree-shakeable ESM).",
5
5
  "type": "module",
6
6
  "author": "MaSkal <dev@elcrm.online>",
@@ -85,6 +85,11 @@
85
85
  "require": "./dist/dark.css",
86
86
  "default": "./dist/dark.css"
87
87
  },
88
+ "./tokens.css": {
89
+ "import": "./dist/tokens.css",
90
+ "require": "./dist/tokens.css",
91
+ "default": "./dist/tokens.css"
92
+ },
88
93
  "./dist/style.css": {
89
94
  "import": "./dist/style.css",
90
95
  "require": "./dist/style.css",