@ckeditor/ckeditor5-list 39.0.2 → 40.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/build/list.js +1 -1
  2. package/build/list.js.map +1 -0
  3. package/build/translations/fi.js +1 -1
  4. package/build/translations/pt-br.js +1 -1
  5. package/ckeditor5-metadata.json +44 -0
  6. package/lang/translations/fi.po +1 -1
  7. package/lang/translations/pt-br.po +10 -10
  8. package/package.json +3 -3
  9. package/src/augmentation.d.ts +52 -50
  10. package/src/augmentation.js +5 -5
  11. package/src/documentlist/adjacentlistssupport.d.ts +15 -15
  12. package/src/documentlist/adjacentlistssupport.js +81 -81
  13. package/src/documentlist/converters.d.ts +65 -63
  14. package/src/documentlist/converters.js +441 -354
  15. package/src/documentlist/documentlistcommand.d.ts +80 -80
  16. package/src/documentlist/documentlistcommand.js +150 -145
  17. package/src/documentlist/documentlistediting.d.ts +212 -154
  18. package/src/documentlist/documentlistediting.js +645 -565
  19. package/src/documentlist/documentlistindentcommand.d.ts +62 -62
  20. package/src/documentlist/documentlistindentcommand.js +129 -129
  21. package/src/documentlist/documentlistmergecommand.d.ts +76 -76
  22. package/src/documentlist/documentlistmergecommand.js +174 -174
  23. package/src/documentlist/documentlistsplitcommand.d.ts +67 -67
  24. package/src/documentlist/documentlistsplitcommand.js +70 -70
  25. package/src/documentlist/documentlistutils.d.ts +46 -46
  26. package/src/documentlist/documentlistutils.js +50 -50
  27. package/src/documentlist/utils/listwalker.d.ts +145 -141
  28. package/src/documentlist/utils/listwalker.js +182 -162
  29. package/src/documentlist/utils/model.d.ts +202 -193
  30. package/src/documentlist/utils/model.js +455 -435
  31. package/src/documentlist/utils/postfixers.d.ts +37 -37
  32. package/src/documentlist/utils/postfixers.js +126 -118
  33. package/src/documentlist/utils/view.d.ts +81 -81
  34. package/src/documentlist/utils/view.js +117 -117
  35. package/src/documentlist.d.ts +26 -26
  36. package/src/documentlist.js +30 -30
  37. package/src/documentlistproperties/converters.d.ts +19 -19
  38. package/src/documentlistproperties/converters.js +43 -43
  39. package/src/documentlistproperties/documentlistpropertiesediting.d.ts +88 -88
  40. package/src/documentlistproperties/documentlistpropertiesediting.js +266 -289
  41. package/src/documentlistproperties/documentlistpropertiesutils.d.ts +33 -33
  42. package/src/documentlistproperties/documentlistpropertiesutils.js +44 -44
  43. package/src/documentlistproperties/documentlistreversedcommand.d.ts +36 -36
  44. package/src/documentlistproperties/documentlistreversedcommand.js +55 -55
  45. package/src/documentlistproperties/documentliststartcommand.d.ts +38 -38
  46. package/src/documentlistproperties/documentliststartcommand.js +57 -57
  47. package/src/documentlistproperties/documentliststylecommand.d.ts +72 -72
  48. package/src/documentlistproperties/documentliststylecommand.js +113 -113
  49. package/src/documentlistproperties/utils/style.d.ts +20 -20
  50. package/src/documentlistproperties/utils/style.js +54 -54
  51. package/src/documentlistproperties.d.ts +27 -27
  52. package/src/documentlistproperties.js +31 -31
  53. package/src/index.d.ts +43 -40
  54. package/src/index.js +29 -27
  55. package/src/list/converters.d.ts +196 -196
  56. package/src/list/converters.js +905 -905
  57. package/src/list/indentcommand.d.ts +37 -37
  58. package/src/list/indentcommand.js +107 -107
  59. package/src/list/listcommand.d.ts +55 -55
  60. package/src/list/listcommand.js +274 -274
  61. package/src/list/listediting.d.ts +32 -32
  62. package/src/list/listediting.js +161 -161
  63. package/src/list/listui.d.ts +19 -19
  64. package/src/list/listui.js +32 -32
  65. package/src/list/listutils.d.ts +41 -41
  66. package/src/list/listutils.js +46 -46
  67. package/src/list/utils.d.ts +112 -112
  68. package/src/list/utils.js +374 -374
  69. package/src/list.d.ts +26 -26
  70. package/src/list.js +30 -30
  71. package/src/listconfig.d.ts +132 -122
  72. package/src/listconfig.js +5 -5
  73. package/src/listproperties/listpropertiesediting.d.ts +72 -72
  74. package/src/listproperties/listpropertiesediting.js +696 -696
  75. package/src/listproperties/listpropertiesui.d.ts +23 -23
  76. package/src/listproperties/listpropertiesui.js +277 -277
  77. package/src/listproperties/listreversedcommand.d.ts +38 -38
  78. package/src/listproperties/listreversedcommand.js +52 -52
  79. package/src/listproperties/liststartcommand.d.ts +37 -37
  80. package/src/listproperties/liststartcommand.js +51 -51
  81. package/src/listproperties/liststylecommand.d.ts +67 -67
  82. package/src/listproperties/liststylecommand.js +99 -99
  83. package/src/listproperties/ui/collapsibleview.d.ts +63 -63
  84. package/src/listproperties/ui/collapsibleview.js +89 -89
  85. package/src/listproperties/ui/listpropertiesview.d.ts +157 -157
  86. package/src/listproperties/ui/listpropertiesview.js +299 -299
  87. package/src/listproperties.d.ts +26 -26
  88. package/src/listproperties.js +30 -30
  89. package/src/liststyle.d.ts +28 -28
  90. package/src/liststyle.js +36 -36
  91. package/src/tododocumentlist/checktododocumentlistcommand.d.ts +49 -0
  92. package/src/tododocumentlist/checktododocumentlistcommand.js +82 -0
  93. package/src/tododocumentlist/todocheckboxchangeobserver.d.ts +41 -0
  94. package/src/tododocumentlist/todocheckboxchangeobserver.js +37 -0
  95. package/src/tododocumentlist/tododocumentlistediting.d.ts +38 -0
  96. package/src/tododocumentlist/tododocumentlistediting.js +399 -0
  97. package/src/tododocumentlist.d.ts +27 -0
  98. package/src/tododocumentlist.js +31 -0
  99. package/src/todolist/checktodolistcommand.d.ts +52 -52
  100. package/src/todolist/checktodolistcommand.js +76 -76
  101. package/src/todolist/todolistconverters.d.ts +82 -82
  102. package/src/todolist/todolistconverters.js +260 -260
  103. package/src/todolist/todolistediting.d.ts +39 -39
  104. package/src/todolist/todolistediting.js +161 -161
  105. package/src/todolist/todolistui.d.ts +19 -19
  106. package/src/todolist/todolistui.js +29 -29
  107. package/src/todolist.d.ts +27 -27
  108. package/src/todolist.js +31 -31
  109. package/theme/todolist.css +101 -70
@@ -7,10 +7,81 @@
7
7
  --ck-todo-list-checkmark-size: 16px;
8
8
  }
9
9
 
10
+ @define-mixin todo-list-checkbox {
11
+ -webkit-appearance: none;
12
+ display: inline-block;
13
+ position: relative;
14
+ width: var(--ck-todo-list-checkmark-size);
15
+ height: var(--ck-todo-list-checkmark-size);
16
+ vertical-align: middle;
17
+
18
+ /* Needed on iOS */
19
+ border: 0;
20
+
21
+ /* LTR styles */
22
+ left: -25px;
23
+ margin-right: -15px;
24
+ right: 0;
25
+ margin-left: 0;
26
+
27
+ /* RTL styles */
28
+ @nest [dir=rtl]& {
29
+ left: 0;
30
+ margin-right: 0;
31
+ right: -25px;
32
+ margin-left: -15px;
33
+ }
34
+
35
+ &::before {
36
+ display: block;
37
+ position: absolute;
38
+ box-sizing: border-box;
39
+ content: '';
40
+ width: 100%;
41
+ height: 100%;
42
+ border: 1px solid hsl(0, 0%, 20%);
43
+ border-radius: 2px;
44
+ transition: 250ms ease-in-out box-shadow;
45
+ }
46
+
47
+ &::after {
48
+ display: block;
49
+ position: absolute;
50
+ box-sizing: content-box;
51
+ pointer-events: none;
52
+ content: '';
53
+
54
+ /* Calculate tick position, size and border-width proportional to the checkmark size. */
55
+ left: calc( var(--ck-todo-list-checkmark-size) / 3 );
56
+ top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
57
+ width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
58
+ height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
59
+ border-style: solid;
60
+ border-color: transparent;
61
+ border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
62
+ transform: rotate(45deg);
63
+ }
64
+
65
+ &[checked] {
66
+ &::before {
67
+ background: hsl(126, 64%, 41%);
68
+ border-color: hsl(126, 64%, 41%);
69
+ }
70
+
71
+ &::after {
72
+ border-color: hsl(0, 0%, 100%);
73
+ }
74
+ }
75
+ }
76
+
77
+ /*
78
+ * To-do list content styles.
79
+ */
10
80
  .ck-content .todo-list {
11
81
  list-style: none;
12
82
 
13
83
  & li {
84
+ position: relative;
14
85
  margin-bottom: 5px;
15
86
 
16
87
  & .todo-list {
@@ -20,86 +91,46 @@
20
91
 
21
92
  & .todo-list__label {
22
93
  & > input {
23
- -webkit-appearance: none;
24
- display: inline-block;
25
- position: relative;
26
- width: var(--ck-todo-list-checkmark-size);
27
- height: var(--ck-todo-list-checkmark-size);
28
- vertical-align: middle;
29
-
30
- /* Needed on iOS */
31
- border: 0;
32
-
33
- /* LTR styles */
34
- left: -25px;
35
- margin-right: -15px;
36
- right: 0;
37
- margin-left: 0;
38
-
39
- &::before {
40
- display: block;
41
- position: absolute;
42
- box-sizing: border-box;
43
- content: '';
44
- width: 100%;
45
- height: 100%;
46
- border: 1px solid hsl(0, 0%, 20%);
47
- border-radius: 2px;
48
- transition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;
49
- }
50
-
51
- &::after {
52
- display: block;
53
- position: absolute;
54
- box-sizing: content-box;
55
- pointer-events: none;
56
- content: '';
57
-
58
- /* Calculate tick position, size and border-width proportional to the checkmark size. */
59
- left: calc( var(--ck-todo-list-checkmark-size) / 3 );
60
- top: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
61
- width: calc( var(--ck-todo-list-checkmark-size) / 5.3 );
62
- height: calc( var(--ck-todo-list-checkmark-size) / 2.6 );
63
- border-style: solid;
64
- border-color: transparent;
65
- border-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;
66
- transform: rotate(45deg);
67
- }
68
-
69
- &[checked] {
70
- &::before {
71
- background: hsl(126, 64%, 41%);
72
- border-color: hsl(126, 64%, 41%);
73
- }
74
-
75
- &::after {
76
- border-color: hsl(0, 0%, 100%);
77
- }
78
- }
94
+ @mixin todo-list-checkbox;
79
95
  }
80
96
 
81
97
  & .todo-list__label__description {
82
98
  vertical-align: middle;
83
99
  }
84
- }
85
- }
86
100
 
87
- /* RTL styles */
88
- [dir="rtl"] .todo-list .todo-list__label > input {
89
- left: 0;
90
- margin-right: 0;
91
- right: -25px;
92
- margin-left: -15px;
101
+ &.todo-list__label_without-description input[type=checkbox] {
102
+ position: absolute;
103
+ }
104
+ }
93
105
  }
94
106
 
95
107
  /*
96
- * To-do list should be interactive only during the editing
97
- * (https://github.com/ckeditor/ckeditor5/issues/2090).
108
+ * To-do list editing view styles.
98
109
  */
99
- .ck-editor__editable .todo-list .todo-list__label > input {
100
- cursor: pointer;
110
+ .ck-editor__editable.ck-content .todo-list .todo-list__label {
111
+ /*
112
+ * To-do list should be interactive only during the editing
113
+ * (https://github.com/ckeditor/ckeditor5/issues/2090).
114
+ */
115
+ & > input,
116
+ & > span[contenteditable=false] > input {
117
+ cursor: pointer;
118
+
119
+ &:hover::before {
120
+ box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);
121
+ }
122
+ }
101
123
 
102
- &:hover::before {
103
- box-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);
124
+ /*
125
+ * Document Lists - editing view has an additional span around checkbox.
126
+ */
127
+ & > span[contenteditable=false] > input {
128
+ @mixin todo-list-checkbox;
129
+ }
130
+
131
+ &.todo-list__label_without-description {
132
+ & input[type=checkbox] {
133
+ position: absolute;
134
+ }
104
135
  }
105
136
  }