@fastkit/vui 0.12.9 → 0.12.11

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 (33) hide show
  1. package/dist/vui.css +138 -409
  2. package/dist/vui.css.map +1 -1
  3. package/dist/vui.d.ts +97 -409
  4. package/dist/vui.mjs +167 -1125
  5. package/dist/vui.mjs.map +1 -1
  6. package/package.json +18 -40
  7. package/src/components/index.ts +3 -1
  8. package/src/injections.ts +1 -1
  9. package/src/components/VWysiwygEditor/VWysiwygEditor.scss +0 -68
  10. package/src/components/VWysiwygEditor/VWysiwygEditor.tsx +0 -354
  11. package/src/components/VWysiwygEditor/extensions/color.ts +0 -72
  12. package/src/components/VWysiwygEditor/extensions/index.ts +0 -2
  13. package/src/components/VWysiwygEditor/extensions/linter/Linter.scss +0 -139
  14. package/src/components/VWysiwygEditor/extensions/linter/Linter.tsx +0 -210
  15. package/src/components/VWysiwygEditor/extensions/linter/LinterPlugin.ts +0 -65
  16. package/src/components/VWysiwygEditor/extensions/linter/index.ts +0 -5
  17. package/src/components/VWysiwygEditor/extensions/linter/plugins/BadWords.tsx +0 -50
  18. package/src/components/VWysiwygEditor/extensions/linter/plugins/HeadingLevel.ts +0 -39
  19. package/src/components/VWysiwygEditor/extensions/linter/plugins/Punctuation.ts +0 -49
  20. package/src/components/VWysiwygEditor/extensions/linter/plugins/index.ts +0 -3
  21. package/src/components/VWysiwygEditor/extensions/linter/utils.ts +0 -28
  22. package/src/components/VWysiwygEditor/index.ts +0 -4
  23. package/src/components/VWysiwygEditor/schemes.ts +0 -251
  24. package/src/components/VWysiwygEditor/tools/bullet-list.ts +0 -18
  25. package/src/components/VWysiwygEditor/tools/color.scss +0 -134
  26. package/src/components/VWysiwygEditor/tools/color.tsx +0 -90
  27. package/src/components/VWysiwygEditor/tools/format-bold.ts +0 -19
  28. package/src/components/VWysiwygEditor/tools/format-italic.ts +0 -18
  29. package/src/components/VWysiwygEditor/tools/format-underline.ts +0 -18
  30. package/src/components/VWysiwygEditor/tools/history.ts +0 -26
  31. package/src/components/VWysiwygEditor/tools/index.ts +0 -8
  32. package/src/components/VWysiwygEditor/tools/link.ts +0 -57
  33. package/src/components/VWysiwygEditor/tools/ordered-list.ts +0 -21
package/dist/vui.css CHANGED
@@ -1571,6 +1571,144 @@
1571
1571
  }
1572
1572
  }
1573
1573
 
1574
+ /* src/components/VControlField/VControlField.scss */
1575
+ @layer vui {
1576
+ .v-control-field {
1577
+ position: relative;
1578
+ display: inline-flex;
1579
+ align-items: center;
1580
+ width: 100%;
1581
+ min-width: 0;
1582
+ height: var(--control-field-height);
1583
+ padding: 0 8px;
1584
+ font-size: var(--control-field-font-size);
1585
+ line-height: var(--control-field-line-height);
1586
+ letter-spacing: var(--control-field-letter-spacing);
1587
+ --my-bottom-color: var(--control-field-bottom-color);
1588
+ --my-bottom-hover-color: var(--control-field-bottom-hover-color);
1589
+ --my-focused-color: var(--main-color);
1590
+ --my-fill-color: var(--control-field-fill-color);
1591
+ --my-fill-hover-color: var(--control-field-fill-hover-color);
1592
+ --my-outline-color: var(--control-field-outline-color);
1593
+ --my-outline-hover-color: var(--control-field-outline-hover-color);
1594
+ }
1595
+ .v-control-field--invalid:not(.v-control-field--disabled):not(.v-control-field--readonly) {
1596
+ --my-bottom-color: var(--main-color);
1597
+ --my-bottom-hover-color: var(--main-color);
1598
+ --my-outline-color: var(--main-color);
1599
+ --my-outline-hover-color: var(--main-color);
1600
+ }
1601
+ .v-control-field--readonly {
1602
+ cursor: default;
1603
+ }
1604
+ .v-control-field--disabled {
1605
+ color: var(--control-disabled-color);
1606
+ pointer-events: none;
1607
+ user-select: none;
1608
+ }
1609
+ .v-control-field::before,
1610
+ .v-control-field::after {
1611
+ position: absolute;
1612
+ right: 0;
1613
+ bottom: 0;
1614
+ left: 0;
1615
+ pointer-events: none;
1616
+ content: "";
1617
+ }
1618
+ .v-control-field::before {
1619
+ height: 1px;
1620
+ border-bottom: solid 1px var(--my-bottom-color);
1621
+ transition: border-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
1622
+ }
1623
+ .v-control-field::after {
1624
+ height: 2px;
1625
+ background: var(--my-focused-color);
1626
+ transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
1627
+ transform: scaleX(0);
1628
+ }
1629
+ .v-control-field--focused,
1630
+ .v-control-field:focus-within {
1631
+ --my-outline-color: var(--my-focused-color);
1632
+ --my-outline-hover-color: var(--my-focused-color);
1633
+ outline: none;
1634
+ }
1635
+ .v-control-field--focused::after,
1636
+ .v-control-field:focus-within::after {
1637
+ transform: scaleX(1);
1638
+ }
1639
+ .v-control-field--auto-height {
1640
+ height: auto;
1641
+ }
1642
+ .v-control-field__body {
1643
+ display: flex;
1644
+ flex: 1 1 auto;
1645
+ align-items: stretch;
1646
+ align-self: stretch;
1647
+ margin: 0;
1648
+ }
1649
+ .v-control-field--flat {
1650
+ padding-right: 0;
1651
+ padding-left: 0;
1652
+ }
1653
+ .v-control-field--filled {
1654
+ background-color: var(--my-fill-color);
1655
+ border-top-left-radius: var(--control-field-radius);
1656
+ border-top-right-radius: var(--control-field-radius);
1657
+ transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
1658
+ }
1659
+ .v-control-field--filled:hover:not(:focus-within) {
1660
+ background-color: var(--my-fill-hover-color);
1661
+ }
1662
+ .v-control-field--flat:hover::before,
1663
+ .v-control-field--filled:hover::before {
1664
+ border-color: var(--my-bottom-hover-color);
1665
+ }
1666
+ .v-control-field--flat:hover::before {
1667
+ height: 2px;
1668
+ border-bottom-width: 2px;
1669
+ }
1670
+ .v-control-field--flat.v-control-field--disabled::before,
1671
+ .v-control-field--filled.v-control-field--disabled::before {
1672
+ border-bottom-style: dotted;
1673
+ }
1674
+ .v-control-field--outlined {
1675
+ border-radius: var(--control-field-radius);
1676
+ transition: box-shadow 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
1677
+ }
1678
+ .v-control-field--outlined::before {
1679
+ top: 0;
1680
+ height: auto;
1681
+ background: transparent;
1682
+ border: solid 1px var(--my-outline-color);
1683
+ border-radius: inherit;
1684
+ }
1685
+ .v-control-field--outlined:hover::before {
1686
+ border-color: var(--my-outline-hover-color);
1687
+ }
1688
+ .v-control-field--outlined::after {
1689
+ content: none;
1690
+ }
1691
+ .v-control-field--outlined:focus-within {
1692
+ box-shadow: 0 0 1px var(--shadow-color), 0 0 2px 2px var(--focusShadow-color);
1693
+ }
1694
+ .v-control-field__adornment--start {
1695
+ padding-right: 0.25em;
1696
+ }
1697
+ .v-control-field__adornment--end {
1698
+ padding-left: 0.25em;
1699
+ }
1700
+ .v-control-field__adornment .v-icon {
1701
+ font-size: 1.2em;
1702
+ }
1703
+ }
1704
+
1705
+ /* src/components/VTextCounter/VTextCounter.scss */
1706
+ @layer vui {
1707
+ .v-text-counter {
1708
+ white-space: nowrap;
1709
+ }
1710
+ }
1711
+
1574
1712
  /* src/components/VCheckbox/VCheckbox.scss */
1575
1713
  @layer vui {
1576
1714
  .v-checkbox {
@@ -1950,137 +2088,6 @@
1950
2088
  }
1951
2089
  }
1952
2090
 
1953
- /* src/components/VControlField/VControlField.scss */
1954
- @layer vui {
1955
- .v-control-field {
1956
- position: relative;
1957
- display: inline-flex;
1958
- align-items: center;
1959
- width: 100%;
1960
- min-width: 0;
1961
- height: var(--control-field-height);
1962
- padding: 0 8px;
1963
- font-size: var(--control-field-font-size);
1964
- line-height: var(--control-field-line-height);
1965
- letter-spacing: var(--control-field-letter-spacing);
1966
- --my-bottom-color: var(--control-field-bottom-color);
1967
- --my-bottom-hover-color: var(--control-field-bottom-hover-color);
1968
- --my-focused-color: var(--main-color);
1969
- --my-fill-color: var(--control-field-fill-color);
1970
- --my-fill-hover-color: var(--control-field-fill-hover-color);
1971
- --my-outline-color: var(--control-field-outline-color);
1972
- --my-outline-hover-color: var(--control-field-outline-hover-color);
1973
- }
1974
- .v-control-field--invalid:not(.v-control-field--disabled):not(.v-control-field--readonly) {
1975
- --my-bottom-color: var(--main-color);
1976
- --my-bottom-hover-color: var(--main-color);
1977
- --my-outline-color: var(--main-color);
1978
- --my-outline-hover-color: var(--main-color);
1979
- }
1980
- .v-control-field--readonly {
1981
- cursor: default;
1982
- }
1983
- .v-control-field--disabled {
1984
- color: var(--control-disabled-color);
1985
- pointer-events: none;
1986
- user-select: none;
1987
- }
1988
- .v-control-field::before,
1989
- .v-control-field::after {
1990
- position: absolute;
1991
- right: 0;
1992
- bottom: 0;
1993
- left: 0;
1994
- pointer-events: none;
1995
- content: "";
1996
- }
1997
- .v-control-field::before {
1998
- height: 1px;
1999
- border-bottom: solid 1px var(--my-bottom-color);
2000
- transition: border-color 200ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
2001
- }
2002
- .v-control-field::after {
2003
- height: 2px;
2004
- background: var(--my-focused-color);
2005
- transition: transform 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
2006
- transform: scaleX(0);
2007
- }
2008
- .v-control-field--focused,
2009
- .v-control-field:focus-within {
2010
- --my-outline-color: var(--my-focused-color);
2011
- --my-outline-hover-color: var(--my-focused-color);
2012
- outline: none;
2013
- }
2014
- .v-control-field--focused::after,
2015
- .v-control-field:focus-within::after {
2016
- transform: scaleX(1);
2017
- }
2018
- .v-control-field--auto-height {
2019
- height: auto;
2020
- }
2021
- .v-control-field__body {
2022
- display: flex;
2023
- flex: 1 1 auto;
2024
- align-items: stretch;
2025
- align-self: stretch;
2026
- margin: 0;
2027
- }
2028
- .v-control-field--flat {
2029
- padding-right: 0;
2030
- padding-left: 0;
2031
- }
2032
- .v-control-field--filled {
2033
- background-color: var(--my-fill-color);
2034
- border-top-left-radius: var(--control-field-radius);
2035
- border-top-right-radius: var(--control-field-radius);
2036
- transition: background-color 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
2037
- }
2038
- .v-control-field--filled:hover:not(:focus-within) {
2039
- background-color: var(--my-fill-hover-color);
2040
- }
2041
- .v-control-field--flat:hover::before,
2042
- .v-control-field--filled:hover::before {
2043
- border-color: var(--my-bottom-hover-color);
2044
- }
2045
- .v-control-field--flat:hover::before {
2046
- height: 2px;
2047
- border-bottom-width: 2px;
2048
- }
2049
- .v-control-field--flat.v-control-field--disabled::before,
2050
- .v-control-field--filled.v-control-field--disabled::before {
2051
- border-bottom-style: dotted;
2052
- }
2053
- .v-control-field--outlined {
2054
- border-radius: var(--control-field-radius);
2055
- transition: box-shadow 200ms cubic-bezier(0, 0, 0.2, 1) 0ms;
2056
- }
2057
- .v-control-field--outlined::before {
2058
- top: 0;
2059
- height: auto;
2060
- background: transparent;
2061
- border: solid 1px var(--my-outline-color);
2062
- border-radius: inherit;
2063
- }
2064
- .v-control-field--outlined:hover::before {
2065
- border-color: var(--my-outline-hover-color);
2066
- }
2067
- .v-control-field--outlined::after {
2068
- content: none;
2069
- }
2070
- .v-control-field--outlined:focus-within {
2071
- box-shadow: 0 0 1px var(--shadow-color), 0 0 2px 2px var(--focusShadow-color);
2072
- }
2073
- .v-control-field__adornment--start {
2074
- padding-right: 0.25em;
2075
- }
2076
- .v-control-field__adornment--end {
2077
- padding-left: 0.25em;
2078
- }
2079
- .v-control-field__adornment .v-icon {
2080
- font-size: 1.2em;
2081
- }
2082
- }
2083
-
2084
2091
  /* src/components/VTextField/VTextField.scss */
2085
2092
  @layer vui {
2086
2093
  .v-text-field__input {
@@ -2119,13 +2126,6 @@
2119
2126
  }
2120
2127
  }
2121
2128
 
2122
- /* src/components/VTextCounter/VTextCounter.scss */
2123
- @layer vui {
2124
- .v-text-counter {
2125
- white-space: nowrap;
2126
- }
2127
- }
2128
-
2129
2129
  /* src/components/VTextarea/VTextarea.scss */
2130
2130
  @layer vui {
2131
2131
  .v-textarea__input {
@@ -2162,277 +2162,6 @@
2162
2162
  }
2163
2163
  }
2164
2164
 
2165
- /* src/components/VWysiwygEditor/VWysiwygEditor.scss */
2166
- @layer vui {
2167
- .v-wysiwyg-editor--sm {
2168
- --min-height: var(--wysiwyg-min-height-sm);
2169
- --max-height: var(--wysiwyg-max-height-sm);
2170
- }
2171
- .v-wysiwyg-editor--md {
2172
- --min-height: var(--wysiwyg-min-height-md);
2173
- --max-height: var(--wysiwyg-max-height-md);
2174
- }
2175
- .v-wysiwyg-editor--lg {
2176
- --min-height: var(--wysiwyg-min-height-lg);
2177
- --max-height: var(--wysiwyg-max-height-lg);
2178
- }
2179
- .v-wysiwyg-editor__wrapper {
2180
- position: relative;
2181
- }
2182
- .v-wysiwyg-editor .v-control-field__body {
2183
- width: 100%;
2184
- }
2185
- .v-wysiwyg-editor__floating-toolbar {
2186
- position: absolute;
2187
- right: 0;
2188
- bottom: 100%;
2189
- z-index: 1;
2190
- }
2191
- .v-wysiwyg-editor__body {
2192
- position: relative;
2193
- width: 100%;
2194
- max-height: var(--max-height);
2195
- overflow: auto;
2196
- }
2197
- .v-wysiwyg-editor__input {
2198
- cursor: text;
2199
- }
2200
- .v-wysiwyg-editor__input__element {
2201
- width: 100%;
2202
- min-width: 0;
2203
- padding: 8px 0;
2204
- margin: 0;
2205
- }
2206
- .v-wysiwyg-editor__input__prose {
2207
- width: 100%;
2208
- min-height: var(--min-height);
2209
- outline: none;
2210
- }
2211
- .v-wysiwyg-editor--disabled-min-heihgt .v-wysiwyg-editor__input__prose {
2212
- min-height: 0;
2213
- }
2214
- .v-wysiwyg-editor--disabled-max-heihgt .v-wysiwyg-editor__body {
2215
- max-height: none;
2216
- }
2217
- }
2218
-
2219
- /* src/components/VWysiwygEditor/extensions/linter/Linter.scss */
2220
- @layer vui {
2221
- .v-linter__problem {
2222
- margin-bottom: -1px;
2223
- cursor: help;
2224
- background: var(--deep-color);
2225
- border-bottom: 1px solid var(--main-color);
2226
- }
2227
- .v-linter__issue-icon {
2228
- position: absolute;
2229
- right: 2px;
2230
- display: inline-flex;
2231
- align-items: center;
2232
- justify-content: center;
2233
- width: 1.2em;
2234
- height: 1.2em;
2235
- margin-top: 0.2em;
2236
- font-family:
2237
- times,
2238
- georgia,
2239
- serif;
2240
- font-size: 15px;
2241
- font-weight: 700;
2242
- line-height: 1;
2243
- color: var(--text-color);
2244
- text-align: center;
2245
- cursor: pointer;
2246
- background: var(--main-color);
2247
- border-radius: 100px;
2248
- }
2249
- .v-linter__issue-icon::before {
2250
- content: "!";
2251
- }
2252
- .v-linter__issue-menu-wrapper {
2253
- position: relative;
2254
- display: inline-block;
2255
- width: 0px;
2256
- height: 1em;
2257
- overflow: visible;
2258
- }
2259
- .v-linter__issue-menu {
2260
- font-size: 87.5%;
2261
- line-height: 1.5;
2262
- }
2263
- .v-linter__issue-menu .v-dialog__body {
2264
- padding: 0;
2265
- font-size: inherit;
2266
- }
2267
- .v-linter__issue-menu__message {
2268
- padding: 8px;
2269
- }
2270
- .v-linter__issue-menu__fixers {
2271
- position: relative;
2272
- padding: 4px 0;
2273
- }
2274
- .v-linter__issue-menu__fixers::before {
2275
- position: absolute;
2276
- top: 0;
2277
- right: 0;
2278
- left: 0;
2279
- display: block;
2280
- height: 1px;
2281
- content: "";
2282
- background: currentColor;
2283
- opacity: 0.5;
2284
- }
2285
- .v-linter__issue-menu__fixer__button {
2286
- position: relative;
2287
- display: block;
2288
- width: 100%;
2289
- padding: 8px;
2290
- font: inherit;
2291
- font-size: 12px;
2292
- text-align: left;
2293
- cursor: pointer;
2294
- background: transparent;
2295
- border: 0;
2296
- outline: 0;
2297
- appearance: none;
2298
- }
2299
- .v-linter__issue-menu__fixer__button::before {
2300
- position: absolute;
2301
- inset: 0;
2302
- display: block;
2303
- content: "";
2304
- background: currentColor;
2305
- opacity: 0;
2306
- transition: 0.15s;
2307
- }
2308
- .v-linter__issue-menu__fixer__button:hover::before,
2309
- .v-linter__issue-menu__fixer__button:focus::before {
2310
- opacity: 0.1;
2311
- }
2312
- .v-linter__issue-menu__fixer__button__message {
2313
- position: relative;
2314
- }
2315
- .v-linter__issue-menu__fix {
2316
- display: inline;
2317
- margin-top: 8px;
2318
- color: var(--palette-link);
2319
- text-decoration: underline;
2320
- cursor: pointer;
2321
- background: transparent;
2322
- border: 0;
2323
- outline: 0;
2324
- appearance: none;
2325
- }
2326
- }
2327
-
2328
- /* src/components/VWysiwygEditor/tools/color.scss */
2329
- :root {
2330
- --v-wysiwyg-color-tool: 30px;
2331
- }
2332
- @layer vui {
2333
- .v-wysiwyg-color-tool__button {
2334
- position: relative;
2335
- display: inline-flex;
2336
- align-items: center;
2337
- justify-content: center;
2338
- vertical-align: bottom;
2339
- }
2340
- .v-wysiwyg-color-tool__button__bar {
2341
- position: absolute;
2342
- right: 0;
2343
- bottom: 0;
2344
- left: 0;
2345
- display: block;
2346
- height: 2px;
2347
- background: currentColor;
2348
- }
2349
- .v-wysiwyg-color-tool__menu .v-dialog__content {
2350
- min-width: 0;
2351
- }
2352
- .v-wysiwyg-color-tool__menu .v-dialog__body {
2353
- padding: 2px;
2354
- }
2355
- .v-wysiwyg-color-tool__items {
2356
- --item-size: var(--v-wysiwyg-color-tool);
2357
- display: inline-flex;
2358
- flex-wrap: wrap;
2359
- align-items: center;
2360
- max-width: calc(var(--item-size) * 5);
2361
- vertical-align: bottom;
2362
- }
2363
- .v-wysiwyg-color-tool__items--with-label {
2364
- display: flex;
2365
- flex-direction: column;
2366
- align-items: flex-start;
2367
- max-width: none;
2368
- padding: 2px;
2369
- }
2370
- .v-wysiwyg-color-tool__item {
2371
- --focus-offset: calc(var(--item-size) * 0.05);
2372
- position: relative;
2373
- display: flex;
2374
- flex-basis: var(--item-size);
2375
- align-items: center;
2376
- width: var(--item-size);
2377
- height: var(--item-size);
2378
- padding: 0;
2379
- margin: 0;
2380
- cursor: pointer;
2381
- background: transparent;
2382
- border: 0;
2383
- border-radius: 0;
2384
- outline: 0;
2385
- appearance: none;
2386
- }
2387
- .v-wysiwyg-color-tool__item__color {
2388
- position: relative;
2389
- flex: 0 0 var(--item-size);
2390
- width: var(--item-size);
2391
- height: var(--item-size);
2392
- }
2393
- .v-wysiwyg-color-tool__item__color::before {
2394
- position: absolute;
2395
- inset: 0;
2396
- display: block;
2397
- content: "";
2398
- background: currentColor;
2399
- border: solid 1px transparent;
2400
- transition: all 0.15s;
2401
- }
2402
- .v-wysiwyg-color-tool__item__name {
2403
- position: relative;
2404
- padding: 0 8px;
2405
- font-size: 12px;
2406
- white-space: nowrap;
2407
- }
2408
- .v-wysiwyg-color-tool__item:hover .v-wysiwyg-color-tool__item__color::before,
2409
- .v-wysiwyg-color-tool__item:focus .v-wysiwyg-color-tool__item__color::before {
2410
- inset: var(--focus-offset) var(--focus-offset) var(--focus-offset) var(--focus-offset);
2411
- border-color: rgba(0, 0, 0, 0.1);
2412
- }
2413
- .v-wysiwyg-color-tool__items--with-label .v-wysiwyg-color-tool__item {
2414
- flex-basis: auto;
2415
- width: auto;
2416
- width: 100%;
2417
- }
2418
- .v-wysiwyg-color-tool__items--with-label .v-wysiwyg-color-tool__item::before {
2419
- position: absolute;
2420
- inset: 0;
2421
- display: block;
2422
- content: "";
2423
- background: currentColor;
2424
- opacity: 0;
2425
- transition: opacity 0.15s;
2426
- }
2427
- .v-wysiwyg-color-tool__items--with-label .v-wysiwyg-color-tool__item:hover::before,
2428
- .v-wysiwyg-color-tool__items--with-label .v-wysiwyg-color-tool__item:focus::before {
2429
- opacity: 0.1;
2430
- }
2431
- .v-wysiwyg-color-tool__items--with-label .v-wysiwyg-color-tool__item + .v-wysiwyg-color-tool__item {
2432
- margin-top: 2px;
2433
- }
2434
- }
2435
-
2436
2165
  /* src/components/VTabs/VTabs.scss */
2437
2166
  @layer vui {
2438
2167
  .v-tabs {