@knowark/componarkjs 1.7.3

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 (116) hide show
  1. package/Makefile +49 -0
  2. package/README.md +47 -0
  3. package/knowarkjs.code-workspace +29 -0
  4. package/lib/base/component/README.rst +113 -0
  5. package/lib/base/component/component.js +115 -0
  6. package/lib/base/component/component.test.js +327 -0
  7. package/lib/base/component/index.js +3 -0
  8. package/lib/base/index.js +1 -0
  9. package/lib/base/styles/index.js +3 -0
  10. package/lib/base/styles/styles.js +320 -0
  11. package/lib/base/utils/define.js +21 -0
  12. package/lib/base/utils/define.test.js +62 -0
  13. package/lib/base/utils/format.js +24 -0
  14. package/lib/base/utils/format.test.js +19 -0
  15. package/lib/base/utils/helpers.js +96 -0
  16. package/lib/base/utils/helpers.test.js +154 -0
  17. package/lib/base/utils/index.js +5 -0
  18. package/lib/base/utils/slots.js +18 -0
  19. package/lib/base/utils/slots.test.js +52 -0
  20. package/lib/base/utils/uuid.js +9 -0
  21. package/lib/base/utils/uuid.test.js +19 -0
  22. package/lib/components/audio/README.md +22 -0
  23. package/lib/components/audio/components/audio.js +103 -0
  24. package/lib/components/audio/components/audio.test.js +127 -0
  25. package/lib/components/audio/index.js +1 -0
  26. package/lib/components/audio/styles/ark.css.js +83 -0
  27. package/lib/components/audio/styles/index.js +2 -0
  28. package/lib/components/camera/README.md +64 -0
  29. package/lib/components/camera/components/camera.js +85 -0
  30. package/lib/components/camera/components/camera.test.js +104 -0
  31. package/lib/components/camera/index.js +1 -0
  32. package/lib/components/camera/styles/ark.css.js +17 -0
  33. package/lib/components/camera/styles/index.js +2 -0
  34. package/lib/components/capture/components/capture.js +54 -0
  35. package/lib/components/capture/components/capture.test.js +112 -0
  36. package/lib/components/capture/index.js +1 -0
  37. package/lib/components/droparea/README.md +51 -0
  38. package/lib/components/droparea/components/droparea-preview.js +159 -0
  39. package/lib/components/droparea/components/droparea-preview.test.js +105 -0
  40. package/lib/components/droparea/components/droparea.js +165 -0
  41. package/lib/components/droparea/components/droparea.test.js +320 -0
  42. package/lib/components/droparea/index.js +1 -0
  43. package/lib/components/droparea/styles/ark.css.js +235 -0
  44. package/lib/components/droparea/styles/index.js +3 -0
  45. package/lib/components/emit/components/emit.js +33 -0
  46. package/lib/components/emit/components/emit.test.js +138 -0
  47. package/lib/components/emit/index.js +1 -0
  48. package/lib/components/index.js +9 -0
  49. package/lib/components/list/README.md +103 -0
  50. package/lib/components/list/components/item.test.js +93 -0
  51. package/lib/components/list/components/list.item.js +22 -0
  52. package/lib/components/list/components/list.js +96 -0
  53. package/lib/components/list/components/list.test.js +267 -0
  54. package/lib/components/list/index.js +2 -0
  55. package/lib/components/paginator/README.md +32 -0
  56. package/lib/components/paginator/components/paginator.js +110 -0
  57. package/lib/components/paginator/components/paginator.test.js +131 -0
  58. package/lib/components/paginator/index.js +1 -0
  59. package/lib/components/paginator/styles/ark.css.js +196 -0
  60. package/lib/components/paginator/styles/index.js +2 -0
  61. package/lib/components/spinner/README.md +41 -0
  62. package/lib/components/spinner/components/spinner.js +105 -0
  63. package/lib/components/spinner/components/spinner.test.js +50 -0
  64. package/lib/components/spinner/index.js +1 -0
  65. package/lib/components/spinner/styles/ark.css.js +658 -0
  66. package/lib/components/spinner/styles/index.js +2 -0
  67. package/lib/components/splitview/README.md +63 -0
  68. package/lib/components/splitview/components/splitview.detail.js +46 -0
  69. package/lib/components/splitview/components/splitview.detail.test.js +92 -0
  70. package/lib/components/splitview/components/splitview.js +69 -0
  71. package/lib/components/splitview/components/splitview.master.js +26 -0
  72. package/lib/components/splitview/components/splitview.master.test.js +55 -0
  73. package/lib/components/splitview/components/splitview.test.js +76 -0
  74. package/lib/components/splitview/index.js +3 -0
  75. package/lib/components/translate/README.md +56 -0
  76. package/lib/components/translate/components/translate.js +100 -0
  77. package/lib/components/translate/components/translate.test.js +226 -0
  78. package/lib/components/translate/index.js +1 -0
  79. package/lib/index.js +2 -0
  80. package/package.json +68 -0
  81. package/showcase/design/.htaccess +8 -0
  82. package/showcase/design/core/factories/development/development.factory.js +5 -0
  83. package/showcase/design/core/factories/development/index.js +1 -0
  84. package/showcase/design/core/factories/index.js +11 -0
  85. package/showcase/design/core/factories/standard.factory.js +19 -0
  86. package/showcase/design/index.html +22 -0
  87. package/showcase/design/index.js +7 -0
  88. package/showcase/design/screens/base/audio/audioDemo.js +32 -0
  89. package/showcase/design/screens/base/audio/index.js +25 -0
  90. package/showcase/design/screens/base/camera/cameraDemo.js +83 -0
  91. package/showcase/design/screens/base/camera/index.js +25 -0
  92. package/showcase/design/screens/base/droparea/dropareaDemo.js +88 -0
  93. package/showcase/design/screens/base/droparea/index.js +25 -0
  94. package/showcase/design/screens/base/index.js +42 -0
  95. package/showcase/design/screens/base/list/index.js +25 -0
  96. package/showcase/design/screens/base/list/listDemo.js +89 -0
  97. package/showcase/design/screens/base/paginator/index.js +25 -0
  98. package/showcase/design/screens/base/paginator/paginatorDemo.js +82 -0
  99. package/showcase/design/screens/base/root.component.js +294 -0
  100. package/showcase/design/screens/base/root.routes.js +28 -0
  101. package/showcase/design/screens/base/spinner/index.js +25 -0
  102. package/showcase/design/screens/base/spinner/spinnerDemo.js +55 -0
  103. package/showcase/design/screens/base/splitview/detailDemo.js +40 -0
  104. package/showcase/design/screens/base/splitview/index.js +25 -0
  105. package/showcase/design/screens/base/splitview/splitViewDemo.js +58 -0
  106. package/showcase/design/screens/base/translate/index.js +20 -0
  107. package/showcase/design/screens/base/translate/translateDemo.js +43 -0
  108. package/showcase/design/screens/main.js +12 -0
  109. package/showcase/design/screens/screens.routes.js +23 -0
  110. package/showcase/index.html +86 -0
  111. package/showcase/index.js +5 -0
  112. package/showcase/locales/en/default.json +5 -0
  113. package/showcase/locales/es/default.json +5 -0
  114. package/showcase/locales/fr/default.json +5 -0
  115. package/tsconfig.json +23 -0
  116. package/webpack.config.cjs +118 -0
@@ -0,0 +1,196 @@
1
+ const css = String.raw; export default css`
2
+ .ark-paginator {
3
+ background: var(--canvas, white);
4
+ color: var(--ink, black);
5
+ }
6
+
7
+ /*-------------- THEME-------------- */
8
+
9
+ .ark-paginator[background=primary] {
10
+ background: var(--primary);
11
+ color: white;
12
+ }
13
+
14
+ .ark-paginator.ark-paginator[color=primary] {
15
+ color: var(--primary);
16
+ }
17
+
18
+ .ark-paginator[background=secondary] {
19
+ background: var(--secondary);
20
+ color: white;
21
+ }
22
+
23
+ .ark-paginator.ark-paginator[color=secondary] {
24
+ color: var(--secondary);
25
+ }
26
+
27
+ .ark-paginator[background=success] {
28
+ background: var(--success);
29
+ color: white;
30
+ }
31
+
32
+ .ark-paginator.ark-paginator[color=success] {
33
+ color: var(--success);
34
+ }
35
+
36
+ .ark-paginator[background=danger] {
37
+ background: var(--danger);
38
+ color: white;
39
+ }
40
+
41
+ .ark-paginator.ark-paginator[color=danger] {
42
+ color: var(--danger);
43
+ }
44
+
45
+ .ark-paginator[background=warning] {
46
+ background: var(--warning);
47
+ color: white;
48
+ }
49
+
50
+ .ark-paginator.ark-paginator[color=warning] {
51
+ color: var(--warning);
52
+ }
53
+
54
+ .ark-paginator[background=info] {
55
+ background: var(--info);
56
+ color: white;
57
+ }
58
+
59
+ .ark-paginator.ark-paginator[color=info] {
60
+ color: var(--info);
61
+ }
62
+
63
+ .ark-paginator[background=dark] {
64
+ background: var(--dark);
65
+ color: white;
66
+ }
67
+
68
+ .ark-paginator.ark-paginator[color=dark] {
69
+ color: var(--dark);
70
+ }
71
+
72
+ .ark-paginator[background=muted] {
73
+ background: var(--muted);
74
+ color: white;
75
+ }
76
+
77
+ .ark-paginator.ark-paginator[color=muted] {
78
+ color: var(--muted);
79
+ }
80
+
81
+ .ark-paginator[background=light] {
82
+ background: var(--light);
83
+ color: white;
84
+ }
85
+
86
+ .ark-paginator.ark-paginator[color=light] {
87
+ color: var(--light);
88
+ }
89
+
90
+ /*-------------------------------------------*/
91
+
92
+ .ark-paginator__body {
93
+ width: 100%;
94
+ display: grid;
95
+ grid-auto-flow: column;
96
+ justify-content: center;
97
+ align-items: center;
98
+ }
99
+
100
+ .ark-paginator__footer {
101
+ display: grid;
102
+ grid-auto-flow: column;
103
+ justify-content: center;
104
+ }
105
+
106
+ .ark-paginator__footer small[data-info] {
107
+ color: var(--primary);
108
+ }
109
+
110
+ .ark-paginator__buttons {
111
+ margin: 10px;
112
+ }
113
+
114
+ .ark-paginator__buttons button {
115
+ width: 1.8rem;
116
+ height: 1.8rem;
117
+ border: 0;
118
+ margin: 0.1rem;
119
+ background: inherit;
120
+ }
121
+
122
+ .ark-paginator__buttons button:focus {
123
+ outline: none;
124
+ }
125
+
126
+ .ark-paginator__buttons button:active {
127
+ border: 1px solid black;
128
+ }
129
+
130
+ .ark-paginator__buttons button[on-click=_prev],
131
+ .ark-paginator__buttons button[on-click=_next] {
132
+ border: 2px solid rgba(128, 128, 128, 0.411);
133
+ background: white;
134
+ }
135
+
136
+ .ark-paginator__buttons button[on-click=_first],
137
+ .ark-paginator__buttons button[on-click=_last] {
138
+ border: 2px solid rgba(128, 128, 128, 0.411);
139
+ background: white;
140
+ }
141
+
142
+ .ark-paginator__pages {
143
+ display: grid;
144
+ grid-auto-flow: column;
145
+ }
146
+
147
+ .ark-paginator__pages button {
148
+ min-width: 1.8rem;
149
+ width: 1.8rem;
150
+ min-height: 1.8rem;
151
+ height: 1.8rem;
152
+ border: 1px solid var(--primary);
153
+ margin: 0.1rem;
154
+ text-align: center;
155
+ }
156
+
157
+ .ark-paginator__pages button:focus {
158
+ outline: none;
159
+ }
160
+
161
+ .ark-paginator__pages button[active] {
162
+ background: var(--primary, blue);
163
+ color: white;
164
+ }
165
+
166
+ .ark-paginator__buttons button {
167
+ border-radius: 4px;
168
+ transition: transform 0.1s ease-in-out;
169
+ }
170
+
171
+ .ark-paginator__buttons button:hover {
172
+ transform: scale(1.05);
173
+ }
174
+
175
+ .ark-paginator__pages {
176
+ display: grid;
177
+ }
178
+
179
+ .ark-paginator__pages button {
180
+ border-radius: 4px;
181
+ transition: transform 0.1s ease-in-out;
182
+ }
183
+
184
+ .ark-paginator__pages button:focus {
185
+ outline: none;
186
+ }
187
+
188
+ .ark-paginator__pages button[active] {
189
+ background: var(--primary, blue);
190
+ color: white;
191
+ }
192
+
193
+ .ark-paginator__pages button:hover {
194
+ transform: scale(1.05);
195
+ }
196
+ `
@@ -0,0 +1,2 @@
1
+ import styles from './ark.css.js'
2
+ export default styles
@@ -0,0 +1,41 @@
1
+ SPINNER
2
+ =======
3
+
4
+ The ``ark-spinner`` creates an animated loading icon
5
+
6
+ Examples
7
+ --------
8
+
9
+ **Spinner with size specified**
10
+
11
+ ```html
12
+ <ark-spinner size="1.5"></ark-spinner>
13
+ ```
14
+
15
+ **Different types of spinners available**
16
+
17
+ ```html
18
+ <ark-spinner type="chase"></ark-spinner>
19
+ <ark-spinner type="rect"></ark-spinner>
20
+ <ark-spinner type="loader"></ark-spinner>
21
+ <ark-spinner type="bounce"></ark-spinner>
22
+ ```
23
+
24
+
25
+
26
+ Attributes
27
+ ----------
28
+
29
+ | Name | Type | Default | Description |
30
+ | :---: | :----: | :------: | :--------------------------------------------------------------------------------: |
31
+ | size | string | "1" | Sets the size, by scale, being 1 the normal size and 2 double the size |
32
+ | type | string | "circle" | Specifies the style of the spinner ("circle", "chase", "rect", "loader", "bounce") |
33
+
34
+
35
+ Properties
36
+ ----------
37
+
38
+ | Name | Type | Default | Description |
39
+ | :---: | :----: | :------: | :--------------------------------------------------------------------------------: |
40
+ | size | string | "1" | Sets the size, by scale, being 1 the normal size and 2 double the size |
41
+ | type | string | "circle" | Specifies the style of the spinner ("circle", "chase", "rect", "loader", "bounce") |
@@ -0,0 +1,105 @@
1
+ import { Component } from "../../../base/component/index.js"
2
+ import styles from "../styles/index.js"
3
+
4
+ const tag = "ark-spinner"
5
+ export class Spinner extends Component {
6
+ init(context = {}) {
7
+ this.scale = context.scale || this.scale || "1"
8
+ this.type = context.type || this.type || "circle"
9
+
10
+ return super.init()
11
+ }
12
+
13
+ reflectedProperties() {
14
+ return ["scale", "type"]
15
+ }
16
+
17
+ render() {
18
+ this.innerHTML = /* html */ `
19
+ ${this.spinnerType(this.type)}
20
+ `
21
+ this.setScale(this.scale)
22
+ return super.render()
23
+ }
24
+
25
+ setScale(scale) {
26
+ this.style.setProperty('transform', `scale(${scale})`)
27
+ }
28
+
29
+ /** @returns {HTMLElement} */
30
+ get loader() {
31
+ return this.querySelector("[data-loader]")
32
+ }
33
+
34
+ spinnerType(type) {
35
+ let content = ""
36
+
37
+ if (type === 'circle') {
38
+ content = /*html*/ `
39
+ <div data-loader class="sk-fading-circle">
40
+ <div class="sk-circle1 sk-circle"></div>
41
+ <div class="sk-circle2 sk-circle"></div>
42
+ <div class="sk-circle3 sk-circle"></div>
43
+ <div class="sk-circle4 sk-circle"></div>
44
+ <div class="sk-circle5 sk-circle"></div>
45
+ <div class="sk-circle6 sk-circle"></div>
46
+ <div class="sk-circle7 sk-circle"></div>
47
+ <div class="sk-circle8 sk-circle"></div>
48
+ <div class="sk-circle9 sk-circle"></div>
49
+ <div class="sk-circle10 sk-circle"></div>
50
+ <div class="sk-circle11 sk-circle"></div>
51
+ <div class="sk-circle12 sk-circle"></div>
52
+ </div>
53
+ `
54
+ } else if (type === 'chase') {
55
+ content = /*html*/ `
56
+ <div data-loader class="sk-chase">
57
+ <div class="sk-chase-dot"></div>
58
+ <div class="sk-chase-dot"></div>
59
+ <div class="sk-chase-dot"></div>
60
+ <div class="sk-chase-dot"></div>
61
+ <div class="sk-chase-dot"></div>
62
+ <div class="sk-chase-dot"></div>
63
+ </div>
64
+ `
65
+ } else if (type === 'rect') {
66
+ content = /*html*/ `
67
+ <div data-loader class="spinner">
68
+ <div class="rect1"></div>
69
+ <div class="rect2"></div>
70
+ <div class="rect3"></div>
71
+ <div class="rect4"></div>
72
+ <div class="rect5"></div>
73
+ </div>
74
+ `
75
+ } else if (type === 'loader') {
76
+ content = /* html */ `
77
+ <div data-loader class="lds-spinner">
78
+ <div></div>
79
+ <div></div>
80
+ <div></div>
81
+ <div></div>
82
+ <div></div>
83
+ <div></div>
84
+ <div></div>
85
+ <div></div>
86
+ <div></div>
87
+ <div></div>
88
+ <div></div>
89
+ <div></div>
90
+ </div>
91
+ `
92
+ } else {
93
+ content = /* html */ `
94
+ <div data-loader class="bouncer">
95
+ <div class="bounce1"></div>
96
+ <div class="bounce2"></div>
97
+ <div class="bounce3"></div>
98
+ </div>
99
+ `
100
+ }
101
+
102
+ return content
103
+ }
104
+ }
105
+ Component.define(tag, Spinner, styles)
@@ -0,0 +1,50 @@
1
+ import './spinner.js'
2
+
3
+ describe('Spinner', () => {
4
+ let container = null
5
+
6
+ beforeEach(() => {
7
+ container = document.createElement('div')
8
+ document.body.appendChild(container)
9
+ })
10
+
11
+ afterEach(() => {
12
+ container.remove()
13
+ container = null
14
+ })
15
+
16
+ it('can be instantiated', () => {
17
+ container.innerHTML = /* html */ `
18
+ <ark-spinner></ark-spinner>
19
+ `
20
+ const spinner = container.querySelector('ark-spinner')
21
+
22
+ expect(spinner).toBeTruthy
23
+ expect(spinner).toBe(spinner.init())
24
+ })
25
+
26
+ it('Different types of spinner can be used', () => {
27
+ container.innerHTML = /* html */ `
28
+ <ark-spinner type="chase"></ark-spinner>
29
+ <ark-spinner type="rect"></ark-spinner>
30
+ <ark-spinner type="loader"></ark-spinner>
31
+ <ark-spinner type="bounce"></ark-spinner>
32
+ `
33
+ const spinner = container.querySelector('ark-spinner')
34
+ const loader = spinner.loader
35
+
36
+ expect(spinner.loader).toBeCalled
37
+ })
38
+
39
+ it('Can set the scale of the spinner', () => {
40
+ container.innerHTML = /* html */ `
41
+ <ark-spinner scale="2.5" type="chase"></ark-spinner>
42
+ `
43
+ const spinner = container.querySelector('ark-spinner')
44
+
45
+ expect(spinner.loader).toBeCalled
46
+ expect(spinner.style.transform.split(')')[0].split('(')[1]).toBe(
47
+ spinner.scale
48
+ )
49
+ })
50
+ })
@@ -0,0 +1 @@
1
+ export { Spinner } from './components/spinner.js'