@api-client/ui 0.2.13 → 0.3.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.
- package/.vscode/settings.json +1 -0
- package/build/src/core/ModalActivity.d.ts +1 -1
- package/build/src/core/ModalActivity.d.ts.map +1 -1
- package/build/src/core/ModalActivity.js +6 -5
- package/build/src/core/ModalActivity.js.map +1 -1
- package/build/src/core/ThemeManager.d.ts +4 -2
- package/build/src/core/ThemeManager.d.ts.map +1 -1
- package/build/src/core/ThemeManager.js.map +1 -1
- package/build/src/demo/DemoPage.d.ts +1 -4
- package/build/src/demo/DemoPage.d.ts.map +1 -1
- package/build/src/demo/DemoPage.js +2 -5
- package/build/src/demo/DemoPage.js.map +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/CcAuthorization.js +2 -2
- package/build/src/elements/authorization/ui/CcAuthorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OAuth2Authorization.js +11 -5
- package/build/src/elements/authorization/ui/OAuth2Authorization.js.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.d.ts +1 -2
- package/build/src/elements/authorization/ui/OidcAuthorization.d.ts.map +1 -1
- package/build/src/elements/authorization/ui/OidcAuthorization.js +10 -8
- package/build/src/elements/authorization/ui/OidcAuthorization.js.map +1 -1
- package/build/src/elements/code/HttpSnippets.d.ts +1 -1
- package/build/src/elements/code/HttpSnippets.d.ts.map +1 -1
- package/build/src/elements/code/HttpSnippets.js +5 -5
- package/build/src/elements/code/HttpSnippets.js.map +1 -1
- package/build/src/elements/dialog/internals/ConfirmDelete.d.ts +1 -1
- package/build/src/elements/dialog/internals/ConfirmDelete.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/ConfirmDelete.js +5 -5
- package/build/src/elements/dialog/internals/ConfirmDelete.js.map +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts +1 -1
- package/build/src/elements/dialog/internals/Rename.d.ts.map +1 -1
- package/build/src/elements/dialog/internals/Rename.js +6 -5
- package/build/src/elements/dialog/internals/Rename.js.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts +1 -1
- package/build/src/elements/environment/EnvironmentEditor.d.ts.map +1 -1
- package/build/src/elements/environment/EnvironmentEditor.js +5 -4
- package/build/src/elements/environment/EnvironmentEditor.js.map +1 -1
- package/build/src/elements/http/BodyEditor.d.ts +1 -3
- package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyEditor.js +25 -20
- package/build/src/elements/http/BodyEditor.js.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts +1 -1
- package/build/src/elements/http/BodyMultipartEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyMultipartEditor.js +3 -3
- package/build/src/elements/http/BodyMultipartEditor.js.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.d.ts +1 -3
- package/build/src/elements/http/CertificateAdd.element.d.ts.map +1 -1
- package/build/src/elements/http/CertificateAdd.element.js +6 -10
- package/build/src/elements/http/CertificateAdd.element.js.map +1 -1
- package/build/src/elements/http/HeadersForm.d.ts +1 -1
- package/build/src/elements/http/HeadersForm.d.ts.map +1 -1
- package/build/src/elements/http/HeadersForm.js +3 -3
- package/build/src/elements/http/HeadersForm.js.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.d.ts +1 -1
- package/build/src/elements/http/HttpAssertions.element.d.ts.map +1 -1
- package/build/src/elements/http/HttpAssertions.element.js +2 -2
- package/build/src/elements/http/HttpAssertions.element.js.map +1 -1
- package/build/src/elements/http/HttpFlows.element.d.ts +1 -1
- package/build/src/elements/http/HttpFlows.element.d.ts.map +1 -1
- package/build/src/elements/http/HttpFlows.element.js +6 -6
- package/build/src/elements/http/HttpFlows.element.js.map +1 -1
- package/build/src/elements/http/RequestEditor.d.ts +1 -3
- package/build/src/elements/http/RequestEditor.d.ts.map +1 -1
- package/build/src/elements/http/RequestEditor.js +10 -11
- package/build/src/elements/http/RequestEditor.js.map +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts +1 -1
- package/build/src/elements/http/UrlParamsForm.d.ts.map +1 -1
- package/build/src/elements/http/UrlParamsForm.js +4 -4
- package/build/src/elements/http/UrlParamsForm.js.map +1 -1
- package/build/src/elements/project/HttpProjectRequest.d.ts +1 -1
- package/build/src/elements/project/HttpProjectRequest.d.ts.map +1 -1
- package/build/src/elements/project/HttpProjectRequest.js +3 -3
- package/build/src/elements/project/HttpProjectRequest.js.map +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.d.ts +1 -2
- package/build/src/elements/project/HttpProjectRequestHistory.d.ts.map +1 -1
- package/build/src/elements/project/HttpProjectRequestHistory.js +5 -6
- package/build/src/elements/project/HttpProjectRequestHistory.js.map +1 -1
- package/build/src/elements/project/ProjectRunReport.d.ts +1 -1
- package/build/src/elements/project/ProjectRunReport.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunReport.js +7 -7
- package/build/src/elements/project/ProjectRunReport.js.map +1 -1
- package/build/src/elements/project/ProjectRunner.d.ts +1 -2
- package/build/src/elements/project/ProjectRunner.d.ts.map +1 -1
- package/build/src/elements/project/ProjectRunner.js +4 -5
- package/build/src/elements/project/ProjectRunner.js.map +1 -1
- package/build/src/md/button/internals/base.d.ts +98 -0
- package/build/src/md/button/internals/base.d.ts.map +1 -0
- package/build/src/md/button/internals/base.js +353 -0
- package/build/src/md/button/internals/base.js.map +1 -0
- package/build/src/md/button/internals/button.d.ts +7 -75
- package/build/src/md/button/internals/button.d.ts.map +1 -1
- package/build/src/md/button/internals/button.js +18 -247
- package/build/src/md/button/internals/button.js.map +1 -1
- package/build/src/md/button/internals/{button-styles.d.ts → button.styles.d.ts} +1 -1
- package/build/src/md/button/internals/button.styles.d.ts.map +1 -0
- package/build/src/md/button/internals/button.styles.js +319 -0
- package/build/src/md/button/internals/button.styles.js.map +1 -0
- package/build/src/md/button/internals/group.d.ts +54 -0
- package/build/src/md/button/internals/group.d.ts.map +1 -0
- package/build/src/md/button/internals/group.js +157 -0
- package/build/src/md/button/internals/group.js.map +1 -0
- package/build/src/md/button/internals/{text-button.styles.d.ts → group.styles.d.ts} +1 -1
- package/build/src/md/button/internals/group.styles.d.ts.map +1 -0
- package/build/src/md/button/internals/group.styles.js +102 -0
- package/build/src/md/button/internals/group.styles.js.map +1 -0
- package/build/src/md/button/ui-button-group.d.ts +11 -0
- package/build/src/md/button/ui-button-group.d.ts.map +1 -0
- package/build/src/md/{icon-button/ui-filled-icon-button.js → button/ui-button-group.js} +10 -11
- package/build/src/md/button/ui-button-group.js.map +1 -0
- package/build/src/md/button/ui-button.d.ts +14 -0
- package/build/src/md/button/ui-button.d.ts.map +1 -0
- package/build/src/md/button/{ui-text-button.js → ui-button.js} +10 -11
- package/build/src/md/button/ui-button.js.map +1 -0
- package/build/src/md/dialog/internals/Dialog.d.ts +5 -5
- package/build/src/md/dialog/internals/Dialog.d.ts.map +1 -1
- package/build/src/md/dialog/internals/Dialog.js +14 -9
- package/build/src/md/dialog/internals/Dialog.js.map +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.d.ts +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js +1 -1
- package/build/src/md/dropdown-list/internals/UiDropdownList.js.map +1 -1
- package/build/src/md/icon-button/internals/IconButton.d.ts +12 -36
- package/build/src/md/icon-button/internals/IconButton.d.ts.map +1 -1
- package/build/src/md/icon-button/internals/IconButton.js +32 -144
- package/build/src/md/icon-button/internals/IconButton.js.map +1 -1
- package/build/src/md/{button/internals/filled-button.styles.d.ts → icon-button/internals/IconButton.styles.d.ts} +1 -1
- package/build/src/md/icon-button/internals/IconButton.styles.d.ts.map +1 -0
- package/build/src/md/icon-button/internals/IconButton.styles.js +286 -0
- package/build/src/md/icon-button/internals/IconButton.styles.js.map +1 -0
- package/build/src/md/icon-button/ui-icon-button.d.ts.map +1 -1
- package/build/src/md/icon-button/ui-icon-button.js +2 -3
- package/build/src/md/icon-button/ui-icon-button.js.map +1 -1
- package/build/src/md/ripple/internals/ripple.d.ts +2 -0
- package/build/src/md/ripple/internals/ripple.d.ts.map +1 -1
- package/build/src/md/ripple/internals/ripple.js +20 -10
- package/build/src/md/ripple/internals/ripple.js.map +1 -1
- package/build/src/md/ripple/internals/ripple.styles.d.ts.map +1 -1
- package/build/src/md/ripple/internals/ripple.styles.js +8 -20
- package/build/src/md/ripple/internals/ripple.styles.js.map +1 -1
- package/build/src/md/snackbar/internals/Snackbar.d.ts +1 -1
- package/build/src/md/snackbar/internals/Snackbar.d.ts.map +1 -1
- package/build/src/md/snackbar/internals/Snackbar.js +4 -2
- package/build/src/md/snackbar/internals/Snackbar.js.map +1 -1
- package/build/src/md/text-field/internals/filled.styles.d.ts.map +1 -1
- package/build/src/md/text-field/internals/filled.styles.js +3 -0
- package/build/src/md/text-field/internals/filled.styles.js.map +1 -1
- package/build/src/styles/m3/dialog.module.d.ts +2 -2
- package/build/src/styles/m3/dialog.module.js +2 -2
- package/build/src/styles/m3/dialog.module.js.map +1 -1
- package/build/src/styles/m3/tokens.d.ts.map +1 -1
- package/build/src/styles/m3/tokens.js +208 -182
- package/build/src/styles/m3/tokens.js.map +1 -1
- package/demo/elements/authorization/oauth-authorize.html +1 -1
- package/demo/elements/authorization/oauth-authorize.ts +1 -1
- package/demo/elements/environment/variables-editor.ts +2 -2
- package/demo/elements/http/url-editing.ts +3 -3
- package/demo/elements/project/request-editor.ts +4 -4
- package/demo/layout/index.ts +5 -5
- package/demo/md/buttons/button.html +121 -0
- package/demo/md/buttons/button.ts +246 -0
- package/demo/md/buttons/{index.html → group.html} +15 -2
- package/demo/md/buttons/group.ts +171 -0
- package/demo/md/checkbox/index.ts +1 -1
- package/demo/md/dialog/dialog.ts +8 -9
- package/demo/md/dropdown-list/index.ts +68 -71
- package/demo/md/icon-button/index.html +97 -7
- package/demo/md/icon-button/index.ts +97 -201
- package/demo/md/index.html +3 -1
- package/demo/md/inputs/input.ts +1 -1
- package/demo/md/inputs/radio.ts +1 -1
- package/demo/md/inputs/switch.ts +1 -1
- package/demo/md/notification/snack.ts +5 -5
- package/demo/md/progress/progress.ts +4 -3
- package/package.json +2 -2
- package/src/core/ModalActivity.ts +6 -5
- package/src/core/ThemeManager.ts +5 -4
- package/src/demo/DemoPage.ts +2 -5
- package/src/elements/authorization/ui/CcAuthorization.ts +2 -2
- package/src/elements/authorization/ui/OAuth2Authorization.ts +11 -5
- package/src/elements/authorization/ui/OidcAuthorization.ts +10 -8
- package/src/elements/code/HttpSnippets.ts +5 -5
- package/src/elements/dialog/internals/ConfirmDelete.ts +5 -5
- package/src/elements/dialog/internals/Rename.ts +6 -5
- package/src/elements/environment/EnvironmentEditor.ts +5 -4
- package/src/elements/http/BodyEditor.ts +25 -20
- package/src/elements/http/BodyMultipartEditor.ts +3 -3
- package/src/elements/http/CertificateAdd.element.ts +6 -10
- package/src/elements/http/HeadersForm.ts +3 -3
- package/src/elements/http/HttpAssertions.element.ts +2 -2
- package/src/elements/http/HttpFlows.element.ts +6 -6
- package/src/elements/http/RequestEditor.ts +10 -11
- package/src/elements/http/UrlParamsForm.ts +4 -4
- package/src/elements/project/HttpProjectRequest.ts +3 -3
- package/src/elements/project/HttpProjectRequestHistory.ts +5 -6
- package/src/elements/project/ProjectRunReport.ts +7 -7
- package/src/elements/project/ProjectRunner.ts +4 -5
- package/src/md/button/internals/base.ts +299 -0
- package/src/md/button/internals/button.styles.ts +319 -0
- package/src/md/button/internals/button.ts +8 -234
- package/src/md/button/internals/group.styles.ts +102 -0
- package/src/md/button/internals/group.ts +121 -0
- package/src/md/button/ui-button-group.ts +15 -0
- package/src/md/button/ui-button.ts +18 -0
- package/src/md/dialog/internals/Dialog.ts +14 -9
- package/src/md/dropdown-list/internals/UiDropdownList.ts +1 -1
- package/src/md/icon-button/internals/IconButton.styles.ts +286 -0
- package/src/md/icon-button/internals/IconButton.ts +15 -139
- package/src/md/icon-button/ui-icon-button.ts +2 -3
- package/src/md/ripple/internals/ripple.styles.ts +8 -20
- package/src/md/ripple/internals/ripple.ts +21 -13
- package/src/md/snackbar/internals/Snackbar.ts +4 -2
- package/src/md/text-field/internals/filled.styles.ts +3 -0
- package/src/styles/m3/dialog.module.ts +2 -2
- package/src/styles/m3/native.css +270 -0
- package/src/styles/m3/tokens.css +208 -182
- package/src/styles/m3/tokens.ts +208 -182
- package/test/ui/button/UiButton.test.ts +51 -29
- package/test/ui/button/UiIconButton.test.ts +25 -19
- package/test/ui/dialog/UiDialog.test.ts +10 -10
- package/build/src/md/button/internals/button-styles.d.ts.map +0 -1
- package/build/src/md/button/internals/button-styles.js +0 -143
- package/build/src/md/button/internals/button-styles.js.map +0 -1
- package/build/src/md/button/internals/elevated-button.d.ts +0 -4
- package/build/src/md/button/internals/elevated-button.d.ts.map +0 -1
- package/build/src/md/button/internals/elevated-button.js +0 -4
- package/build/src/md/button/internals/elevated-button.js.map +0 -1
- package/build/src/md/button/internals/elevated-button.styles.d.ts +0 -3
- package/build/src/md/button/internals/elevated-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/elevated-button.styles.js +0 -38
- package/build/src/md/button/internals/elevated-button.styles.js.map +0 -1
- package/build/src/md/button/internals/filled-button.d.ts +0 -4
- package/build/src/md/button/internals/filled-button.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-button.js +0 -4
- package/build/src/md/button/internals/filled-button.js.map +0 -1
- package/build/src/md/button/internals/filled-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-button.styles.js +0 -30
- package/build/src/md/button/internals/filled-button.styles.js.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.d.ts +0 -4
- package/build/src/md/button/internals/filled-tonal-button.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.js +0 -4
- package/build/src/md/button/internals/filled-tonal-button.js.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.styles.d.ts +0 -3
- package/build/src/md/button/internals/filled-tonal-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/filled-tonal-button.styles.js +0 -30
- package/build/src/md/button/internals/filled-tonal-button.styles.js.map +0 -1
- package/build/src/md/button/internals/outlined-button.d.ts +0 -4
- package/build/src/md/button/internals/outlined-button.d.ts.map +0 -1
- package/build/src/md/button/internals/outlined-button.js +0 -4
- package/build/src/md/button/internals/outlined-button.js.map +0 -1
- package/build/src/md/button/internals/outlined-button.styles.d.ts +0 -3
- package/build/src/md/button/internals/outlined-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/outlined-button.styles.js +0 -31
- package/build/src/md/button/internals/outlined-button.styles.js.map +0 -1
- package/build/src/md/button/internals/text-button.d.ts +0 -4
- package/build/src/md/button/internals/text-button.d.ts.map +0 -1
- package/build/src/md/button/internals/text-button.js +0 -4
- package/build/src/md/button/internals/text-button.js.map +0 -1
- package/build/src/md/button/internals/text-button.styles.d.ts.map +0 -1
- package/build/src/md/button/internals/text-button.styles.js +0 -30
- package/build/src/md/button/internals/text-button.styles.js.map +0 -1
- package/build/src/md/button/ui-elevated-button.d.ts +0 -14
- package/build/src/md/button/ui-elevated-button.d.ts.map +0 -1
- package/build/src/md/button/ui-elevated-button.js +0 -31
- package/build/src/md/button/ui-elevated-button.js.map +0 -1
- package/build/src/md/button/ui-filled-button.d.ts +0 -14
- package/build/src/md/button/ui-filled-button.d.ts.map +0 -1
- package/build/src/md/button/ui-filled-button.js +0 -31
- package/build/src/md/button/ui-filled-button.js.map +0 -1
- package/build/src/md/button/ui-filled-tonal-button.d.ts +0 -14
- package/build/src/md/button/ui-filled-tonal-button.d.ts.map +0 -1
- package/build/src/md/button/ui-filled-tonal-button.js +0 -31
- package/build/src/md/button/ui-filled-tonal-button.js.map +0 -1
- package/build/src/md/button/ui-outlined-button.d.ts +0 -14
- package/build/src/md/button/ui-outlined-button.d.ts.map +0 -1
- package/build/src/md/button/ui-outlined-button.js +0 -31
- package/build/src/md/button/ui-outlined-button.js.map +0 -1
- package/build/src/md/button/ui-text-button.d.ts +0 -14
- package/build/src/md/button/ui-text-button.d.ts.map +0 -1
- package/build/src/md/button/ui-text-button.js.map +0 -1
- package/build/src/md/icon-button/ui-filled-icon-button.d.ts +0 -11
- package/build/src/md/icon-button/ui-filled-icon-button.d.ts.map +0 -1
- package/build/src/md/icon-button/ui-filled-icon-button.js.map +0 -1
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts +0 -11
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.d.ts.map +0 -1
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.js +0 -28
- package/build/src/md/icon-button/ui-filled-tonal-icon-button.js.map +0 -1
- package/build/src/md/icon-button/ui-outlined-icon-button.d.ts +0 -11
- package/build/src/md/icon-button/ui-outlined-icon-button.d.ts.map +0 -1
- package/build/src/md/icon-button/ui-outlined-icon-button.js +0 -28
- package/build/src/md/icon-button/ui-outlined-icon-button.js.map +0 -1
- package/demo/md/buttons/index.ts +0 -279
- package/src/md/button/internals/button-styles.ts +0 -143
- package/src/md/button/internals/elevated-button.styles.ts +0 -38
- package/src/md/button/internals/elevated-button.ts +0 -3
- package/src/md/button/internals/filled-button.styles.ts +0 -30
- package/src/md/button/internals/filled-button.ts +0 -3
- package/src/md/button/internals/filled-tonal-button.styles.ts +0 -30
- package/src/md/button/internals/filled-tonal-button.ts +0 -3
- package/src/md/button/internals/outlined-button.styles.ts +0 -31
- package/src/md/button/internals/outlined-button.ts +0 -3
- package/src/md/button/internals/text-button.styles.ts +0 -30
- package/src/md/button/internals/text-button.ts +0 -3
- package/src/md/button/ui-elevated-button.ts +0 -19
- package/src/md/button/ui-filled-button.ts +0 -19
- package/src/md/button/ui-filled-tonal-button.ts +0 -19
- package/src/md/button/ui-outlined-button.ts +0 -19
- package/src/md/button/ui-text-button.ts +0 -19
- package/src/md/icon-button/ui-filled-icon-button.ts +0 -16
- package/src/md/icon-button/ui-filled-tonal-icon-button.ts +0 -16
- package/src/md/icon-button/ui-outlined-icon-button.ts +0 -16
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-icon-button.js","sourceRoot":"","sources":["../../../../src/md/icon-button/ui-icon-button.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,OAAO,MAAM,2BAA2B,CAAA;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"ui-icon-button.js","sourceRoot":"","sources":["../../../../src/md/icon-button/ui-icon-button.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,OAAO,MAAM,2BAA2B,CAAA;AAC/C,OAAO,MAAM,MAAM,kCAAkC,CAAA;IAGxC,mBAAmB;4BAD/B,aAAa,CAAC,gBAAgB,CAAC;;;;sBACS,OAAO;mCAAf,SAAQ,WAAO;;;;YAAhD,6KAEC;;;;QADC,MAAM,CAAU,MAAM,GAAwB,CAAC,MAAM,CAAC,CAAA;;YAD3C,uDAAmB;;;;;SAAnB,mBAAmB","sourcesContent":["import type { CSSResultOrNative } from 'lit'\nimport { customElement } from 'lit/decorators.js'\nimport Element from './internals/IconButton.js'\nimport styles from './internals/IconButton.styles.js'\n\n@customElement('ui-icon-button')\nexport class UiIconButtonElement extends Element {\n static override styles: CSSResultOrNative[] = [styles]\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ui-icon-button': UiIconButtonElement\n }\n}\n"]}
|
|
@@ -32,6 +32,7 @@ export default class UiRipple extends LitElement {
|
|
|
32
32
|
protected render(): TemplateResult;
|
|
33
33
|
/** @soyTemplate */
|
|
34
34
|
protected getRenderRippleClasses(): ClassInfo;
|
|
35
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
35
36
|
protected update(changedProps: PropertyValues<this>): void;
|
|
36
37
|
protected getDimensions(): DOMRect;
|
|
37
38
|
protected determineRippleSize(): void;
|
|
@@ -48,6 +49,7 @@ export default class UiRipple extends LitElement {
|
|
|
48
49
|
endFocus(): void;
|
|
49
50
|
beginPress(positionEvent?: Event | null): void;
|
|
50
51
|
endPress(): void;
|
|
52
|
+
protected manageActivated(): void;
|
|
51
53
|
}
|
|
52
54
|
export {};
|
|
53
55
|
//# sourceMappingURL=ripple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAY,MAAM,6BAA6B,CAAA;AAYjE,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC3B,QAAQ,CAAC,MAAM,EAAG,WAAW,CAAA;IAEhD;;OAEG;IAC0B,QAAQ,CAAC,SAAS,UAAQ;IAEvD;;OAEG;IACyC,QAAQ,CAAC,QAAQ,UAAQ;IAE5D,SAAS,CAAC,QAAQ,CAAC,OAAO,UAAQ;IAElC,SAAS,CAAC,QAAQ,CAAC,OAAO,UAAQ;IAElC,SAAS,CAAC,QAAQ,CAAC,OAAO,UAAQ;IAE3C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,UAAU,SAAK;IAEzB,SAAS,CAAC,WAAW,SAAK;IAE1B,SAAS,CAAC,WAAW,SAAI;IAEzB,OAAO,CAAC,gBAAgB,CAAC,CAAc;IAIvC,SAAS,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAEhD,SAAS,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAO;cAElC,MAAM,IAAI,cAAc;IAI3C,mBAAmB;IACnB,SAAS,CAAC,sBAAsB,IAAI,SAAS;cAS1B,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IASnE,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAqBrC,SAAS,CAAC,+BAA+B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS7E,SAAS,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IA2B3G,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ripple.d.ts","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAQ,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAEtE,OAAO,EAAE,SAAS,EAAY,MAAM,6BAA6B,CAAA;AAYjE,UAAU,MAAM;IACd,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;CACV;AAED,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,UAAU;IAC3B,QAAQ,CAAC,MAAM,EAAG,WAAW,CAAA;IAEhD;;OAEG;IAC0B,QAAQ,CAAC,SAAS,UAAQ;IAEvD;;OAEG;IACyC,QAAQ,CAAC,QAAQ,UAAQ;IAE5D,SAAS,CAAC,QAAQ,CAAC,OAAO,UAAQ;IAElC,SAAS,CAAC,QAAQ,CAAC,OAAO,UAAQ;IAElC,SAAS,CAAC,QAAQ,CAAC,OAAO,UAAQ;IAE3C,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,SAAS,CAAC,UAAU,SAAK;IAEzB,SAAS,CAAC,WAAW,SAAK;IAE1B,SAAS,CAAC,WAAW,SAAI;IAEzB,OAAO,CAAC,gBAAgB,CAAC,CAAc;IAIvC,SAAS,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAO;IAEhD,SAAS,CAAC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAO;cAElC,MAAM,IAAI,cAAc;IAI3C,mBAAmB;IACnB,SAAS,CAAC,sBAAsB,IAAI,SAAS;cAS1B,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;cAOzC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IASnE,SAAS,CAAC,aAAa,IAAI,OAAO;IAIlC,SAAS,CAAC,mBAAmB,IAAI,IAAI;IAqBrC,SAAS,CAAC,+BAA+B,CAAC,YAAY,EAAE,YAAY,GAAG,MAAM;IAS7E,SAAS,CAAC,yBAAyB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IA2B3G,SAAS,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;YA+BnD,iBAAiB;IA4B/B,UAAU,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,IAAI;IAOpC,QAAQ,IAAI,IAAI;IAKhB,UAAU,IAAI,IAAI;IAKlB,QAAQ,IAAI,IAAI;IAKhB,UAAU,CAAC,aAAa,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,IAAI;IAW9C,QAAQ,IAAI,IAAI;IAchB,SAAS,CAAC,eAAe,IAAI,IAAI;CAOlC"}
|
|
@@ -103,6 +103,12 @@ let UiRipple = (() => {
|
|
|
103
103
|
unbounded: this.unbounded,
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
+
willUpdate(changed) {
|
|
107
|
+
super.willUpdate(changed);
|
|
108
|
+
if (changed.has('hovered') || changed.has('focused') || changed.has('pressed')) {
|
|
109
|
+
this.manageActivated();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
106
112
|
update(changedProps) {
|
|
107
113
|
if (changedProps.has('disabled') && this.disabled) {
|
|
108
114
|
this.endHover();
|
|
@@ -173,7 +179,6 @@ let UiRipple = (() => {
|
|
|
173
179
|
const { startPoint, endPoint } = this.getTranslationCoordinates(positionEvent);
|
|
174
180
|
const translateStart = `${startPoint.x}px, ${startPoint.y}px`;
|
|
175
181
|
const translateEnd = `${endPoint.x}px, ${endPoint.y}px`;
|
|
176
|
-
// const signal = this.pressAnimationSignal.start()
|
|
177
182
|
const growAnimation = mdRoot.animate({
|
|
178
183
|
top: [0, 0],
|
|
179
184
|
left: [0, 0],
|
|
@@ -186,19 +191,10 @@ let UiRipple = (() => {
|
|
|
186
191
|
easing: Easing.STANDARD,
|
|
187
192
|
fill: ANIMATION_FILL,
|
|
188
193
|
});
|
|
189
|
-
// growAnimation.addEventListener('finish', () => {
|
|
190
|
-
// this.pressAnimationSignal.finish()
|
|
191
|
-
// this.growAnimation = null
|
|
192
|
-
// })
|
|
193
|
-
// signal.addEventListener('abort', () => {
|
|
194
|
-
// growAnimation.cancel()
|
|
195
|
-
// this.growAnimation = null
|
|
196
|
-
// })
|
|
197
194
|
this.growAnimation = growAnimation;
|
|
198
195
|
}
|
|
199
196
|
async endPressAnimation() {
|
|
200
197
|
this.rippleStartEvent = undefined;
|
|
201
|
-
// this.state = State.INACTIVE
|
|
202
198
|
const animation = this.growAnimation;
|
|
203
199
|
let pressAnimationPlayState = Infinity;
|
|
204
200
|
if (typeof animation?.currentTime === 'number') {
|
|
@@ -224,16 +220,20 @@ let UiRipple = (() => {
|
|
|
224
220
|
beginHover(hoverEvent) {
|
|
225
221
|
if (hoverEvent?.pointerType !== 'touch') {
|
|
226
222
|
this.hovered = true;
|
|
223
|
+
this.manageActivated();
|
|
227
224
|
}
|
|
228
225
|
}
|
|
229
226
|
endHover() {
|
|
230
227
|
this.hovered = false;
|
|
228
|
+
this.manageActivated();
|
|
231
229
|
}
|
|
232
230
|
beginFocus() {
|
|
233
231
|
this.focused = true;
|
|
232
|
+
this.manageActivated();
|
|
234
233
|
}
|
|
235
234
|
endFocus() {
|
|
236
235
|
this.focused = false;
|
|
236
|
+
this.manageActivated();
|
|
237
237
|
}
|
|
238
238
|
beginPress(positionEvent) {
|
|
239
239
|
this.pressed = true;
|
|
@@ -243,6 +243,7 @@ let UiRipple = (() => {
|
|
|
243
243
|
this.delayedEndPressHandle = null;
|
|
244
244
|
}
|
|
245
245
|
this.startPressAnimation(positionEvent);
|
|
246
|
+
this.manageActivated();
|
|
246
247
|
}
|
|
247
248
|
endPress() {
|
|
248
249
|
const pressAnimationPlayState = (this.growAnimation?.currentTime ?? Infinity);
|
|
@@ -256,6 +257,15 @@ let UiRipple = (() => {
|
|
|
256
257
|
}, MINIMUM_PRESS_MS - pressAnimationPlayState);
|
|
257
258
|
}
|
|
258
259
|
this.endPressAnimation();
|
|
260
|
+
this.manageActivated();
|
|
261
|
+
}
|
|
262
|
+
manageActivated() {
|
|
263
|
+
if (this.pressed || this.hovered || this.focused) {
|
|
264
|
+
this.classList.add('activated');
|
|
265
|
+
}
|
|
266
|
+
else {
|
|
267
|
+
this.classList.remove('activated');
|
|
268
|
+
}
|
|
259
269
|
}
|
|
260
270
|
};
|
|
261
271
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAkC,MAAM,KAAK,CAAA;AACtE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC1D,OAAO,EAAa,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AAElD,MAAM,aAAa,GAAG,GAAG,CAAA;AACzB,MAAM,gBAAgB,GAAG,EAAE,CAAA;AAC3B,MAAM,oBAAoB,GAAG,GAAG,CAAA;AAChC,MAAM,OAAO,GAAG,EAAE,CAAA;AAClB,MAAM,sBAAsB,GAAG,EAAE,CAAA;AACjC,MAAM,yBAAyB,GAAG,IAAI,CAAA;AACtC,MAAM,YAAY,GAAG,SAAS,CAAA;AAC9B,MAAM,cAAc,GAAG,UAAU,CAAA;;sBAOK,UAAU;;;;;;;;;;;;;;;;;;;iBAA3B,QAAS,SAAQ,WAAU;;;kCAC7C,KAAK,CAAC,UAAU,CAAC;qCAKjB,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oCAK3B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mCAE1C,KAAK,EAAE;mCAEP,KAAK,EAAE;mCAEP,KAAK,EAAE;YAhBW,uKAAS,MAAM,6BAAN,MAAM,uFAAc;YAKnB,gLAAS,SAAS,6BAAT,SAAS,6FAAQ;YAKX,6KAAS,QAAQ,6BAAR,QAAQ,2FAAQ;YAE5D,0KAAmB,OAAO,6BAAP,OAAO,yFAAQ;YAElC,0KAAmB,OAAO,6BAAP,OAAO,yFAAQ;YAElC,0KAAmB,OAAO,6BAAP,OAAO,yFAAQ;;;QAhBxB,iFAA6B;QAA7B,IAAS,MAAM,4CAAc;QAA7B,IAAS,MAAM,kDAAc;QAKnB,oIAAqB,KAAK;QAEvD;;WAEG;WAJoD;QAHvD;;WAEG;QAC0B,IAAS,SAAS,+CAAQ;QAA1B,IAAS,SAAS,qDAAQ;QAKX,qIAAoB,KAAK,GAAA;QAHrE;;WAEG;QACyC,IAAS,QAAQ,8CAAQ;QAAzB,IAAS,QAAQ,oDAAQ;QAE5D,kIAA6B,KAAK,GAAA;QAAlC,IAAmB,OAAO,6CAAQ;QAAlC,IAAmB,OAAO,mDAAQ;QAElC,iIAA6B,KAAK,GAAA;QAAlC,IAAmB,OAAO,6CAAQ;QAAlC,IAAmB,OAAO,mDAAQ;QAElC,iIAA6B,KAAK,GAAA;QAAlC,IAAmB,OAAO,6CAAQ;QAAlC,IAAmB,OAAO,mDAAQ;QAE3C,IAAI,SAAS;YACX,OAAO,IAAI,CAAC,OAAO,CAAA;QACrB,CAAC;QAES,UAAU,yDAAG,EAAE,EAAA;QAEf,WAAW,GAAG,EAAE,CAAA;QAEhB,WAAW,GAAG,CAAC,CAAA;QAEjB,gBAAgB,CAAe;QAEvC,2DAA2D;QAEjD,aAAa,GAAqB,IAAI,CAAA;QAEtC,qBAAqB,GAAkB,IAAI,CAAA;QAElC,MAAM;YACvB,OAAO,IAAI,CAAA,uBAAuB,QAAQ,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAA;QACrF,CAAC;QAED,mBAAmB;QACT,sBAAsB;YAC9B,OAAO;gBACL,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;aAC1B,CAAA;QACH,CAAC;QAEkB,MAAM,CAAC,YAAkC;YAC1D,IAAI,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,IAAI,CAAC,QAAQ,EAAE,CAAA;gBACf,IAAI,CAAC,QAAQ,EAAE,CAAA;YACjB,CAAC;YACD,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;QAC5B,CAAC;QAES,aAAa;YACrB,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,qBAAqB,EAAE,CAAA;QAC7D,CAAC;QAES,mBAAmB;YAC3B,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,yBAAyB,GAAG,MAAM,EAAE,sBAAsB,CAAC,CAAA;YAEzF,IAAI,SAAS,GAAG,MAAM,CAAA;YACtB,IAAI,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,oBAAoB,CAAC,CAAA;YAE3D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAA;YACtD,SAAS,GAAG,UAAU,GAAG,OAAO,CAAA;YAEhC,6CAA6C;YAC7C,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnB,WAAW,IAAI,WAAW,GAAG,CAAC,CAAA;YAChC,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;YAC9B,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,GAAG,WAAW,EAAE,CAAA;YAChE,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,WAAW,IAAI,CAAA;QAC3C,CAAC;QAES,+BAA+B,CAAC,YAA0B;YAClE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAA;YACnC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YAC1C,MAAM,SAAS,GAAG,OAAO,GAAG,IAAI,CAAA;YAChC,MAAM,SAAS,GAAG,OAAO,GAAG,GAAG,CAAA;YAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,CAAA;YACrC,OAAO,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,EAAE,CAAA;QACvD,CAAC;QAES,yBAAyB,CAAC,aAA4B;YAC9D,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YAC9C,oBAAoB;YACpB,MAAM,QAAQ,GAAG;gBACf,CAAC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;gBACjC,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC;aACnC,CAAA;YAED,IAAI,UAAU,CAAA;YACd,IAAI,aAAa,YAAY,YAAY,EAAE,CAAC;gBAC1C,UAAU,GAAG,IAAI,CAAC,+BAA+B,CAAC,aAAa,CAAC,CAAA;YAClE,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG;oBACX,CAAC,EAAE,KAAK,GAAG,CAAC;oBACZ,CAAC,EAAE,MAAM,GAAG,CAAC;iBACd,CAAA;YACH,CAAC;YAED,4BAA4B;YAC5B,UAAU,GAAG;gBACX,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;gBACtC,CAAC,EAAE,UAAU,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,CAAC;aACvC,CAAA;YAED,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAA;QACjC,CAAC;QAES,mBAAmB,CAAC,aAA4B;YACxD,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAM;YACR,CAAC;YACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAA;YAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAA;YAC1B,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,yBAAyB,CAAC,aAAa,CAAC,CAAA;YAC9E,MAAM,cAAc,GAAG,GAAG,UAAU,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI,CAAA;YAC7D,MAAM,YAAY,GAAG,GAAG,QAAQ,CAAC,CAAC,OAAO,QAAQ,CAAC,CAAC,IAAI,CAAA;YAEvD,mDAAmD;YAEnD,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAClC;gBACE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;gBACZ,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;gBAC1C,KAAK,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC;gBACzC,SAAS,EAAE,CAAC,aAAa,cAAc,YAAY,EAAE,aAAa,YAAY,WAAW,IAAI,CAAC,WAAW,GAAG,CAAC;aAC9G,EACD;gBACE,aAAa,EAAE,YAAY;gBAC3B,QAAQ,EAAE,aAAa;gBACvB,MAAM,EAAE,MAAM,CAAC,QAAQ;gBACvB,IAAI,EAAE,cAAc;aACrB,CACF,CAAA;YAED,mDAAmD;YACnD,uCAAuC;YACvC,8BAA8B;YAC9B,KAAK;YAEL,2CAA2C;YAC3C,2BAA2B;YAC3B,8BAA8B;YAC9B,KAAK;YAEL,IAAI,CAAC,aAAa,GAAG,aAAa,CAAA;QACpC,CAAC;QAEO,KAAK,CAAC,iBAAiB;YAC7B,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAA;YACjC,8BAA8B;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;YACpC,IAAI,uBAAuB,GAAG,QAAQ,CAAA;YACtC,IAAI,OAAO,SAAS,EAAE,WAAW,KAAK,QAAQ,EAAE,CAAC;gBAC/C,uBAAuB,GAAG,SAAS,CAAC,WAAW,CAAA;YACjD,CAAC;iBAAM,IAAI,SAAS,EAAE,WAAW,EAAE,CAAC;gBAClC,uBAAuB,GAAG,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,KAAK,CAAA;YAChE,CAAC;YAED,IAAI,uBAAuB,IAAI,gBAAgB,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;gBACpB,OAAM;YACR,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,UAAU,CAAC,OAAO,EAAE,gBAAgB,GAAG,uBAAuB,CAAC,CAAA;YACjE,CAAC,CAAC,CAAA;YAEF,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;gBACrC,wEAAwE;gBACxE,uCAAuC;gBACvC,OAAM;YACR,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACtB,CAAC;QAED,UAAU,CAAC,UAAkB;YAC3B,IAAK,UAA2B,EAAE,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACrB,CAAC;QACH,CAAC;QAED,QAAQ;YACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACtB,CAAC;QAED,UAAU;YACR,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QAED,QAAQ;YACN,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACtB,CAAC;QAED,UAAU,CAAC,aAA4B;YACrC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;YACnB,IAAI,CAAC,gBAAgB,GAAG,aAAa,CAAA;YACrC,IAAI,IAAI,CAAC,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACxC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;gBACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;YACnC,CAAC;YACD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAA;QACzC,CAAC;QAED,QAAQ;YACN,MAAM,uBAAuB,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE,WAAW,IAAI,QAAQ,CAAW,CAAA;YACvF,IAAI,uBAAuB,IAAI,gBAAgB,EAAE,CAAC;gBAChD,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;YACtB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,qBAAqB,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC3C,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;oBACpB,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;gBACnC,CAAC,EAAE,gBAAgB,GAAG,uBAAuB,CAAsB,CAAA;YACrE,CAAC;YACD,IAAI,CAAC,iBAAiB,EAAE,CAAA;QAC1B,CAAC;;;AAxOH,wBAyOC","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { html, LitElement, PropertyValues, TemplateResult } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js'\nimport { Easing } from '../../motion/animation.js'\n\nconst PRESS_GROW_MS = 450\nconst MINIMUM_PRESS_MS = 80\nconst INITIAL_ORIGIN_SCALE = 0.2\nconst PADDING = 10\nconst SOFT_EDGE_MINIMUM_SIZE = 75\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35\nconst PRESS_PSEUDO = '::after'\nconst ANIMATION_FILL = 'forwards'\n\ninterface IPoint {\n x: number\n y: number\n}\n\nexport default class UiRipple extends LitElement {\n @query('.surface') accessor mdRoot!: HTMLElement\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) accessor unbounded = false\n\n /**\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n @state() protected accessor hovered = false\n\n @state() protected accessor focused = false\n\n @state() protected accessor pressed = false\n\n get isPressed(): boolean {\n return this.pressed\n }\n\n protected rippleSize = ''\n\n protected rippleScale = ''\n\n protected initialSize = 0\n\n private rippleStartEvent?: Event | null\n\n // protected pressAnimationSignal = createAnimationSignal()\n\n protected growAnimation: Animation | null = null\n\n protected delayedEndPressHandle: number | null = null\n\n protected override render(): TemplateResult {\n return html`<div class=\"surface ${classMap(this.getRenderRippleClasses())}\"></div>`\n }\n\n /** @soyTemplate */\n protected getRenderRippleClasses(): ClassInfo {\n return {\n hovered: this.hovered,\n focused: this.focused,\n pressed: this.pressed,\n unbounded: this.unbounded,\n }\n }\n\n protected override update(changedProps: PropertyValues<this>): void {\n if (changedProps.has('disabled') && this.disabled) {\n this.endHover()\n this.endFocus()\n this.endPress()\n }\n super.update(changedProps)\n }\n\n protected getDimensions(): DOMRect {\n return (this.parentElement ?? this).getBoundingClientRect()\n }\n\n protected determineRippleSize(): void {\n const { height, width } = this.getDimensions()\n const maxDim = Math.max(height, width)\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE)\n\n let maxRadius = maxDim\n let initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE)\n\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2)\n maxRadius = hypotenuse + PADDING\n\n // ensure `initialSize` is even for unbounded\n if (this.unbounded) {\n initialSize -= initialSize % 2\n }\n\n this.initialSize = initialSize\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`\n this.rippleSize = `${this.initialSize}px`\n }\n\n protected getNormalizedPointerEventCoords(pointerEvent: PointerEvent): IPoint {\n const { scrollX, scrollY } = window\n const { left, top } = this.getDimensions()\n const documentX = scrollX + left\n const documentY = scrollY + top\n const { pageX, pageY } = pointerEvent\n return { x: pageX - documentX, y: pageY - documentY }\n }\n\n protected getTranslationCoordinates(positionEvent?: Event | null): { startPoint: IPoint; endPoint: IPoint } {\n const { height, width } = this.getDimensions()\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n }\n\n let startPoint\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent)\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n }\n }\n\n // center around start point\n startPoint = {\n x: startPoint.x - this.initialSize / 2,\n y: startPoint.y - this.initialSize / 2,\n }\n\n return { startPoint, endPoint }\n }\n\n protected startPressAnimation(positionEvent?: Event | null): void {\n const { mdRoot } = this\n if (!mdRoot) {\n return\n }\n this.pressed = true\n this.growAnimation?.cancel()\n this.determineRippleSize()\n const { startPoint, endPoint } = this.getTranslationCoordinates(positionEvent)\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`\n\n // const signal = this.pressAnimationSignal.start()\n\n const growAnimation = mdRoot.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [`translate(${translateStart}) scale(1)`, `translate(${translateEnd}) scale(${this.rippleScale})`],\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: Easing.STANDARD,\n fill: ANIMATION_FILL,\n }\n )\n\n // growAnimation.addEventListener('finish', () => {\n // this.pressAnimationSignal.finish()\n // this.growAnimation = null\n // })\n\n // signal.addEventListener('abort', () => {\n // growAnimation.cancel()\n // this.growAnimation = null\n // })\n\n this.growAnimation = growAnimation\n }\n\n private async endPressAnimation() {\n this.rippleStartEvent = undefined\n // this.state = State.INACTIVE\n const animation = this.growAnimation\n let pressAnimationPlayState = Infinity\n if (typeof animation?.currentTime === 'number') {\n pressAnimationPlayState = animation.currentTime\n } else if (animation?.currentTime) {\n pressAnimationPlayState = animation.currentTime.to('ms').value\n }\n\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false\n return\n }\n\n await new Promise((resolve) => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState)\n })\n\n if (this.growAnimation !== animation) {\n // A new press animation was started. The old animation was canceled and\n // should not finish the pressed state.\n return\n }\n\n this.pressed = false\n }\n\n beginHover(hoverEvent?: Event): void {\n if ((hoverEvent as PointerEvent)?.pointerType !== 'touch') {\n this.hovered = true\n }\n }\n\n endHover(): void {\n this.hovered = false\n }\n\n beginFocus(): void {\n this.focused = true\n }\n\n endFocus(): void {\n this.focused = false\n }\n\n beginPress(positionEvent?: Event | null): void {\n this.pressed = true\n this.rippleStartEvent = positionEvent\n if (this.delayedEndPressHandle !== null) {\n clearTimeout(this.delayedEndPressHandle)\n this.delayedEndPressHandle = null\n }\n this.startPressAnimation(positionEvent)\n }\n\n endPress(): void {\n const pressAnimationPlayState = (this.growAnimation?.currentTime ?? Infinity) as number\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false\n } else {\n this.delayedEndPressHandle = setTimeout(() => {\n this.pressed = false\n this.delayedEndPressHandle = null\n }, MINIMUM_PRESS_MS - pressAnimationPlayState) as unknown as number\n }\n this.endPressAnimation()\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"ripple.js","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2022 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { html, LitElement, PropertyValues, TemplateResult } from 'lit'\nimport { property, query, state } from 'lit/decorators.js'\nimport { ClassInfo, classMap } from 'lit/directives/class-map.js'\nimport { Easing } from '../../motion/animation.js'\n\nconst PRESS_GROW_MS = 450\nconst MINIMUM_PRESS_MS = 80\nconst INITIAL_ORIGIN_SCALE = 0.2\nconst PADDING = 10\nconst SOFT_EDGE_MINIMUM_SIZE = 75\nconst SOFT_EDGE_CONTAINER_RATIO = 0.35\nconst PRESS_PSEUDO = '::after'\nconst ANIMATION_FILL = 'forwards'\n\ninterface IPoint {\n x: number\n y: number\n}\n\nexport default class UiRipple extends LitElement {\n @query('.surface') accessor mdRoot!: HTMLElement\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) accessor unbounded = false\n\n /**\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n @state() protected accessor hovered = false\n\n @state() protected accessor focused = false\n\n @state() protected accessor pressed = false\n\n get isPressed(): boolean {\n return this.pressed\n }\n\n protected rippleSize = ''\n\n protected rippleScale = ''\n\n protected initialSize = 0\n\n private rippleStartEvent?: Event | null\n\n // protected pressAnimationSignal = createAnimationSignal()\n\n protected growAnimation: Animation | null = null\n\n protected delayedEndPressHandle: number | null = null\n\n protected override render(): TemplateResult {\n return html`<div class=\"surface ${classMap(this.getRenderRippleClasses())}\"></div>`\n }\n\n /** @soyTemplate */\n protected getRenderRippleClasses(): ClassInfo {\n return {\n hovered: this.hovered,\n focused: this.focused,\n pressed: this.pressed,\n unbounded: this.unbounded,\n }\n }\n\n protected override willUpdate(changed: PropertyValues): void {\n super.willUpdate(changed)\n if (changed.has('hovered') || changed.has('focused') || changed.has('pressed')) {\n this.manageActivated()\n }\n }\n\n protected override update(changedProps: PropertyValues<this>): void {\n if (changedProps.has('disabled') && this.disabled) {\n this.endHover()\n this.endFocus()\n this.endPress()\n }\n super.update(changedProps)\n }\n\n protected getDimensions(): DOMRect {\n return (this.parentElement ?? this).getBoundingClientRect()\n }\n\n protected determineRippleSize(): void {\n const { height, width } = this.getDimensions()\n const maxDim = Math.max(height, width)\n const softEdgeSize = Math.max(SOFT_EDGE_CONTAINER_RATIO * maxDim, SOFT_EDGE_MINIMUM_SIZE)\n\n let maxRadius = maxDim\n let initialSize = Math.floor(maxDim * INITIAL_ORIGIN_SCALE)\n\n const hypotenuse = Math.sqrt(width ** 2 + height ** 2)\n maxRadius = hypotenuse + PADDING\n\n // ensure `initialSize` is even for unbounded\n if (this.unbounded) {\n initialSize -= initialSize % 2\n }\n\n this.initialSize = initialSize\n this.rippleScale = `${(maxRadius + softEdgeSize) / initialSize}`\n this.rippleSize = `${this.initialSize}px`\n }\n\n protected getNormalizedPointerEventCoords(pointerEvent: PointerEvent): IPoint {\n const { scrollX, scrollY } = window\n const { left, top } = this.getDimensions()\n const documentX = scrollX + left\n const documentY = scrollY + top\n const { pageX, pageY } = pointerEvent\n return { x: pageX - documentX, y: pageY - documentY }\n }\n\n protected getTranslationCoordinates(positionEvent?: Event | null): { startPoint: IPoint; endPoint: IPoint } {\n const { height, width } = this.getDimensions()\n // end in the center\n const endPoint = {\n x: (width - this.initialSize) / 2,\n y: (height - this.initialSize) / 2,\n }\n\n let startPoint\n if (positionEvent instanceof PointerEvent) {\n startPoint = this.getNormalizedPointerEventCoords(positionEvent)\n } else {\n startPoint = {\n x: width / 2,\n y: height / 2,\n }\n }\n\n // center around start point\n startPoint = {\n x: startPoint.x - this.initialSize / 2,\n y: startPoint.y - this.initialSize / 2,\n }\n\n return { startPoint, endPoint }\n }\n\n protected startPressAnimation(positionEvent?: Event | null): void {\n const { mdRoot } = this\n if (!mdRoot) {\n return\n }\n this.pressed = true\n this.growAnimation?.cancel()\n this.determineRippleSize()\n const { startPoint, endPoint } = this.getTranslationCoordinates(positionEvent)\n const translateStart = `${startPoint.x}px, ${startPoint.y}px`\n const translateEnd = `${endPoint.x}px, ${endPoint.y}px`\n\n const growAnimation = mdRoot.animate(\n {\n top: [0, 0],\n left: [0, 0],\n height: [this.rippleSize, this.rippleSize],\n width: [this.rippleSize, this.rippleSize],\n transform: [`translate(${translateStart}) scale(1)`, `translate(${translateEnd}) scale(${this.rippleScale})`],\n },\n {\n pseudoElement: PRESS_PSEUDO,\n duration: PRESS_GROW_MS,\n easing: Easing.STANDARD,\n fill: ANIMATION_FILL,\n }\n )\n\n this.growAnimation = growAnimation\n }\n\n private async endPressAnimation() {\n this.rippleStartEvent = undefined\n const animation = this.growAnimation\n let pressAnimationPlayState = Infinity\n if (typeof animation?.currentTime === 'number') {\n pressAnimationPlayState = animation.currentTime\n } else if (animation?.currentTime) {\n pressAnimationPlayState = animation.currentTime.to('ms').value\n }\n\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false\n return\n }\n\n await new Promise((resolve) => {\n setTimeout(resolve, MINIMUM_PRESS_MS - pressAnimationPlayState)\n })\n\n if (this.growAnimation !== animation) {\n // A new press animation was started. The old animation was canceled and\n // should not finish the pressed state.\n return\n }\n\n this.pressed = false\n }\n\n beginHover(hoverEvent?: Event): void {\n if ((hoverEvent as PointerEvent)?.pointerType !== 'touch') {\n this.hovered = true\n this.manageActivated()\n }\n }\n\n endHover(): void {\n this.hovered = false\n this.manageActivated()\n }\n\n beginFocus(): void {\n this.focused = true\n this.manageActivated()\n }\n\n endFocus(): void {\n this.focused = false\n this.manageActivated()\n }\n\n beginPress(positionEvent?: Event | null): void {\n this.pressed = true\n this.rippleStartEvent = positionEvent\n if (this.delayedEndPressHandle !== null) {\n clearTimeout(this.delayedEndPressHandle)\n this.delayedEndPressHandle = null\n }\n this.startPressAnimation(positionEvent)\n this.manageActivated()\n }\n\n endPress(): void {\n const pressAnimationPlayState = (this.growAnimation?.currentTime ?? Infinity) as number\n if (pressAnimationPlayState >= MINIMUM_PRESS_MS) {\n this.pressed = false\n } else {\n this.delayedEndPressHandle = setTimeout(() => {\n this.pressed = false\n this.delayedEndPressHandle = null\n }, MINIMUM_PRESS_MS - pressAnimationPlayState) as unknown as number\n }\n this.endPressAnimation()\n this.manageActivated()\n }\n\n protected manageActivated(): void {\n if (this.pressed || this.hovered || this.focused) {\n this.classList.add('activated')\n } else {\n this.classList.remove('activated')\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.styles.ts"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"ripple.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.styles.ts"],"names":[],"mappings":";AAEA,wBAwEC"}
|
|
@@ -21,8 +21,7 @@ export default css `
|
|
|
21
21
|
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
.surface::before
|
|
25
|
-
.surface::after {
|
|
24
|
+
.surface::before {
|
|
26
25
|
position: absolute;
|
|
27
26
|
opacity: 0;
|
|
28
27
|
pointer-events: none;
|
|
@@ -37,19 +36,10 @@ export default css `
|
|
|
37
36
|
inset: 0;
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
.surface::after {
|
|
41
|
-
transition: opacity 375ms linear;
|
|
42
|
-
transform-origin: center center;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
39
|
.focused::before {
|
|
46
40
|
transition-duration: 75ms;
|
|
47
41
|
}
|
|
48
42
|
|
|
49
|
-
.pressed::after {
|
|
50
|
-
transition-duration: 105ms;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
43
|
.surface {
|
|
54
44
|
border-radius: var(--md-ripple-state-layer-shape, 0);
|
|
55
45
|
}
|
|
@@ -58,14 +48,6 @@ export default css `
|
|
|
58
48
|
background-color: var(--md-ripple-hover-state-layer-color, var(--md-sys-color-primary));
|
|
59
49
|
}
|
|
60
50
|
|
|
61
|
-
.surface::after {
|
|
62
|
-
background: radial-gradient(
|
|
63
|
-
closest-side,
|
|
64
|
-
var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)) max(100% - 70px, 65%),
|
|
65
|
-
transparent 100%
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
51
|
.surface.hovered::before {
|
|
70
52
|
opacity: var(--md-ripple-hover-state-layer-opacity, var(--md-sys-state-hover-state-layer-opacity));
|
|
71
53
|
background-color: var(--md-ripple-hover-state-layer-color, var(--md-sys-color-primary));
|
|
@@ -76,8 +58,14 @@ export default css `
|
|
|
76
58
|
background-color: var(--md-ripple-focus-state-layer-color, var(--md-sys-color-primary));
|
|
77
59
|
}
|
|
78
60
|
|
|
79
|
-
.surface.pressed::
|
|
61
|
+
.surface.pressed::before {
|
|
80
62
|
opacity: var(--md-ripple-pressed-state-layer-opacity, var(--md-sys-state-pressed-state-layer-opacity));
|
|
63
|
+
/* background-color: var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)); */
|
|
64
|
+
background: radial-gradient(
|
|
65
|
+
closest-side,
|
|
66
|
+
var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)) max(100% - 70px, 65%),
|
|
67
|
+
transparent 100%
|
|
68
|
+
);
|
|
81
69
|
}
|
|
82
70
|
|
|
83
71
|
.surface.unbounded {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ripple.styles.js","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"ripple.styles.js","sourceRoot":"","sources":["../../../../../src/md/ripple/internals/ripple.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwEjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n position: absolute;\n inset: 0;\n pointer-events: none;\n overflow: hidden;\n display: flex;\n }\n\n :host([disabled]) {\n opacity: 0;\n }\n\n .surface {\n position: absolute;\n inset: 0;\n pointer-events: none;\n overflow: hidden;\n outline: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n }\n\n .surface::before {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n z-index: -1;\n content: '';\n }\n\n .surface::before {\n transition:\n opacity 15ms linear,\n background-color 15ms linear;\n inset: 0;\n }\n\n .focused::before {\n transition-duration: 75ms;\n }\n\n .surface {\n border-radius: var(--md-ripple-state-layer-shape, 0);\n }\n\n .surface::before {\n background-color: var(--md-ripple-hover-state-layer-color, var(--md-sys-color-primary));\n }\n\n .surface.hovered::before {\n opacity: var(--md-ripple-hover-state-layer-opacity, var(--md-sys-state-hover-state-layer-opacity));\n background-color: var(--md-ripple-hover-state-layer-color, var(--md-sys-color-primary));\n }\n\n .surface.focused::before {\n opacity: var(--md-ripple-focus-state-layer-opacity, var(--md-sys-state-focus-state-layer-opacity));\n background-color: var(--md-ripple-focus-state-layer-color, var(--md-sys-color-primary));\n }\n\n .surface.pressed::before {\n opacity: var(--md-ripple-pressed-state-layer-opacity, var(--md-sys-state-pressed-state-layer-opacity));\n /* background-color: var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)); */\n background: radial-gradient(\n closest-side,\n var(--md-ripple-pressed-state-layer-color, var(--md-sys-color-primary)) max(100% - 70px, 65%),\n transparent 100%\n );\n }\n\n .surface.unbounded {\n border-radius: var(--md-ripple-state-layer-shape, 9999px);\n }\n`\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snackbar.d.ts","sourceRoot":"","sources":["../../../../../src/md/snackbar/internals/Snackbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAI/E,OAAO,
|
|
1
|
+
{"version":3,"file":"Snackbar.d.ts","sourceRoot":"","sources":["../../../../../src/md/snackbar/internals/Snackbar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAA;AAI/E,OAAO,2BAA2B,CAAA;AAClC,OAAO,qCAAqC,CAAA;AAC5C,OAAO,wBAAwB,CAAA;AAE/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC;;;;;;;;;;OAUG;IAC0B,QAAQ,CAAC,UAAU,UAAQ;IAExD;;;;;OAKG;IAC0B,QAAQ,CAAC,WAAW,UAAO;IAExD;;;;;;OAMG;IACyB,QAAQ,CAAC,OAAO,SAAO;IAEnD;;;;;;OAMG;IACyB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAA;IAE/D;;;;OAIG;IAC0B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,CAAA;IAEhE;;;;OAIG;IACyC,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAA;IAE9E,SAAS,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAE7B,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IAExB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAE9B,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;;cAUX,OAAO,CAAC,EAAE,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU1D;;OAEG;IACH,OAAO,IAAI,IAAI;IAKf,SAAS,CAAC,YAAY,IAAI,IAAI;IAW9B,SAAS,CAAC,UAAU,IAAI,IAAI;IAO5B,SAAS,CAAC,cAAc,IAAI,IAAI;IAIhC,SAAS,CAAC,iBAAiB,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAQhD,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,UAAU,GAAG,IAAI;IAoB9C,SAAS,CAAC,aAAa,IAAI,IAAI;IAK/B,SAAS,CAAC,oBAAoB,IAAI,IAAI;IAStC,SAAS,CAAC,YAAY,IAAI,IAAI;cAIX,MAAM,IAAI,cAAc;IAc3C,SAAS,CAAC,YAAY,IAAI,cAAc,GAAG,OAAO,OAAO;IAYzD,SAAS,CAAC,UAAU,IAAI,cAAc,GAAG,OAAO,OAAO;CAWxD"}
|
|
@@ -3,7 +3,7 @@ import { html, LitElement, nothing } from 'lit';
|
|
|
3
3
|
import { cancelEvent } from '@api-client/core/lib/events/Utils.js';
|
|
4
4
|
import { property } from 'lit/decorators.js';
|
|
5
5
|
import { classMap } from 'lit/directives/class-map.js';
|
|
6
|
-
import '../../button/ui-
|
|
6
|
+
import '../../button/ui-button.js';
|
|
7
7
|
import '../../icon-button/ui-icon-button.js';
|
|
8
8
|
import '../../icons/ui-icon.js';
|
|
9
9
|
/**
|
|
@@ -256,7 +256,9 @@ let Snackbar = (() => {
|
|
|
256
256
|
return nothing;
|
|
257
257
|
}
|
|
258
258
|
return html `
|
|
259
|
-
<ui-
|
|
259
|
+
<ui-button color="text" class="action" @click="${this.actionHandler}" @action="${cancelEvent}"
|
|
260
|
+
>${action}</ui-button
|
|
261
|
+
>
|
|
260
262
|
`;
|
|
261
263
|
}
|
|
262
264
|
renderIcon() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../../../src/md/snackbar/internals/Snackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing, PropertyValues, TemplateResult } from 'lit'\nimport { cancelEvent } from '@api-client/core/lib/events/Utils.js'\nimport { property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport '../../button/ui-text-button.js'\nimport '../../icon-button/ui-icon-button.js'\nimport '../../icons/ui-icon.js'\n\n/**\n * Snackbars provide brief messages about app processes at the bottom of the screen.\n *\n * Snackbars inform users of a process that an app has performed or will perform.\n * They appear temporarily, towards the bottom of the screen.\n * They shouldn’t interrupt the user experience, and they don’t require user input to disappear.\n *\n * Only one snackbar may be displayed at a time.\n *\n * A snackbar can contain a single action. \"Dismiss\" or \"cancel\" actions are optional.\n *\n * Snackbars communicate messages that are minimally interruptive and don’t require user action.\n *\n * **Caution**, Do not use this element directly.\n *\n * A snackbar is the UI to render in the application. It does not care whether another\n * message is already rendered. Use `SnackNotifications` to manage notification system.\n * The `SnackNotifications` will position toasts directly under the `body` which will make\n * it easier to manage especially when relative / absolute positioning is used.\n *\n * @fires open - When the open state changes. Note, this event is not dispatched when it was programmatically closed.\n * @fires dismiss - When the message was closed via the API.\n * @fires action - When the action button was activated.\n */\nexport class Snackbar extends LitElement {\n /**\n * When set the snackbar does not timeout.\n * It has to be cancelled by user interaction or programmatically.\n *\n * When the `cancellable` is set to false the user won't be able to dismiss the\n * snackbar and the application must remove the snackbar after the process\n * finish. Otherwise another snackbar won't appear.\n *\n * @default false\n * @attribute\n */\n @property({ type: Boolean }) accessor persistent = false\n\n /**\n * Whether the snackbar can be cancelled via user interaction.\n *\n * @default true\n * @attribute\n */\n @property({ type: Boolean }) accessor cancellable = true\n\n /**\n * The time in milliseconds after which the message is removed.\n * Has not effect when `persistent` flag is set.\n *\n * @default 5000\n * @attribute\n */\n @property({ type: Number }) accessor timeout = 5000\n\n /**\n * The action to render next to the message.\n * There can be only one action.\n * It is only rendered when `actionCallback` is set.\n *\n * @attribute\n */\n @property({ type: String }) accessor action: string | undefined\n\n /**\n * Whether to render affordable \"close\" icon.\n *\n * @attribute\n */\n @property({ type: Boolean }) accessor close: boolean | undefined\n\n /**\n * Whether the message is being rendered.\n *\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor open: boolean | undefined\n\n protected dismissed?: boolean\n\n protected timer?: number\n\n protected touchXStart?: number\n\n protected touchYStart?: number\n\n constructor() {\n super()\n\n this.addEventListener('touchstart', this.touchstartHandler.bind(this), { passive: true })\n this.addEventListener('touchend', this.touchendHandler.bind(this), { passive: true })\n this.addEventListener('transitionend', this.transitionendHandler.bind(this), { passive: true })\n }\n\n protected override updated(cp: PropertyValues<this>): void {\n if (cp.has('open')) {\n if (this.open) {\n this.setupTimeout()\n } else {\n this.clearTimer()\n }\n }\n }\n\n /**\n * Dismisses the snackbar\n */\n dismiss(): void {\n this.dismissed = true\n this.open = false\n }\n\n protected setupTimeout(): void {\n const { timeout = 5000, persistent } = this\n this.clearTimer()\n if (persistent) {\n return\n }\n this.timer = setTimeout(() => {\n this.timeoutHandler()\n }, timeout) as unknown as number\n }\n\n protected clearTimer(): void {\n if (this.timer) {\n clearTimeout(this.timer)\n this.timer = undefined\n }\n }\n\n protected timeoutHandler(): void {\n this.open = false\n }\n\n protected touchstartHandler(e: TouchEvent): void {\n if (this.cancellable === false) {\n return\n }\n this.touchXStart = e.changedTouches[0].screenX\n this.touchYStart = e.changedTouches[0].screenY\n }\n\n protected touchendHandler(e: TouchEvent): void {\n if (this.cancellable === false) {\n return\n }\n const { touchXStart, touchYStart } = this\n if (typeof touchXStart !== 'number' || typeof touchYStart !== 'number') {\n return\n }\n this.touchXStart = undefined\n this.touchYStart = undefined\n const endX = e.changedTouches[0].screenX\n const endY = e.changedTouches[0].screenY\n const xDelta = Math.abs(endX - touchXStart)\n const yDelta = Math.abs(endY - touchYStart)\n const threshold = 20\n if (xDelta > threshold || yDelta > threshold) {\n this.open = false\n }\n }\n\n protected actionHandler(): void {\n this.dispatchEvent(new Event('action'))\n this.dismiss()\n }\n\n protected transitionendHandler(): void {\n if (!this.dismissed) {\n this.dispatchEvent(new Event('open'))\n } else {\n this.dismissed = false\n this.dispatchEvent(new Event('dismiss'))\n }\n }\n\n protected closeHandler(): void {\n this.open = false\n }\n\n protected override render(): TemplateResult {\n const classes = {\n body: true,\n withAction: !!this.action,\n withClose: !!this.close,\n }\n return html`\n <div class=\"${classMap(classes)}\">\n <slot></slot>\n </div>\n ${this.renderAction()} ${this.renderIcon()}\n `\n }\n\n protected renderAction(): TemplateResult | typeof nothing {\n const { action } = this\n if (!action) {\n return nothing\n }\n return html`\n <ui-text-button class=\"action\" @click=\"${this.actionHandler}\" @action=\"${cancelEvent}\">${action}</ui-text-button>\n `\n }\n\n protected renderIcon(): TemplateResult | typeof nothing {\n const { close } = this\n if (!close) {\n return nothing\n }\n return html`\n <ui-icon-button @click=\"${this.closeHandler}\" class=\"icon\" @action=\"${cancelEvent}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Snackbar.js","sourceRoot":"","sources":["../../../../../src/md/snackbar/internals/Snackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, nothing, PropertyValues, TemplateResult } from 'lit'\nimport { cancelEvent } from '@api-client/core/lib/events/Utils.js'\nimport { property } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport '../../button/ui-button.js'\nimport '../../icon-button/ui-icon-button.js'\nimport '../../icons/ui-icon.js'\n\n/**\n * Snackbars provide brief messages about app processes at the bottom of the screen.\n *\n * Snackbars inform users of a process that an app has performed or will perform.\n * They appear temporarily, towards the bottom of the screen.\n * They shouldn’t interrupt the user experience, and they don’t require user input to disappear.\n *\n * Only one snackbar may be displayed at a time.\n *\n * A snackbar can contain a single action. \"Dismiss\" or \"cancel\" actions are optional.\n *\n * Snackbars communicate messages that are minimally interruptive and don’t require user action.\n *\n * **Caution**, Do not use this element directly.\n *\n * A snackbar is the UI to render in the application. It does not care whether another\n * message is already rendered. Use `SnackNotifications` to manage notification system.\n * The `SnackNotifications` will position toasts directly under the `body` which will make\n * it easier to manage especially when relative / absolute positioning is used.\n *\n * @fires open - When the open state changes. Note, this event is not dispatched when it was programmatically closed.\n * @fires dismiss - When the message was closed via the API.\n * @fires action - When the action button was activated.\n */\nexport class Snackbar extends LitElement {\n /**\n * When set the snackbar does not timeout.\n * It has to be cancelled by user interaction or programmatically.\n *\n * When the `cancellable` is set to false the user won't be able to dismiss the\n * snackbar and the application must remove the snackbar after the process\n * finish. Otherwise another snackbar won't appear.\n *\n * @default false\n * @attribute\n */\n @property({ type: Boolean }) accessor persistent = false\n\n /**\n * Whether the snackbar can be cancelled via user interaction.\n *\n * @default true\n * @attribute\n */\n @property({ type: Boolean }) accessor cancellable = true\n\n /**\n * The time in milliseconds after which the message is removed.\n * Has not effect when `persistent` flag is set.\n *\n * @default 5000\n * @attribute\n */\n @property({ type: Number }) accessor timeout = 5000\n\n /**\n * The action to render next to the message.\n * There can be only one action.\n * It is only rendered when `actionCallback` is set.\n *\n * @attribute\n */\n @property({ type: String }) accessor action: string | undefined\n\n /**\n * Whether to render affordable \"close\" icon.\n *\n * @attribute\n */\n @property({ type: Boolean }) accessor close: boolean | undefined\n\n /**\n * Whether the message is being rendered.\n *\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor open: boolean | undefined\n\n protected dismissed?: boolean\n\n protected timer?: number\n\n protected touchXStart?: number\n\n protected touchYStart?: number\n\n constructor() {\n super()\n\n this.addEventListener('touchstart', this.touchstartHandler.bind(this), { passive: true })\n this.addEventListener('touchend', this.touchendHandler.bind(this), { passive: true })\n this.addEventListener('transitionend', this.transitionendHandler.bind(this), { passive: true })\n }\n\n protected override updated(cp: PropertyValues<this>): void {\n if (cp.has('open')) {\n if (this.open) {\n this.setupTimeout()\n } else {\n this.clearTimer()\n }\n }\n }\n\n /**\n * Dismisses the snackbar\n */\n dismiss(): void {\n this.dismissed = true\n this.open = false\n }\n\n protected setupTimeout(): void {\n const { timeout = 5000, persistent } = this\n this.clearTimer()\n if (persistent) {\n return\n }\n this.timer = setTimeout(() => {\n this.timeoutHandler()\n }, timeout) as unknown as number\n }\n\n protected clearTimer(): void {\n if (this.timer) {\n clearTimeout(this.timer)\n this.timer = undefined\n }\n }\n\n protected timeoutHandler(): void {\n this.open = false\n }\n\n protected touchstartHandler(e: TouchEvent): void {\n if (this.cancellable === false) {\n return\n }\n this.touchXStart = e.changedTouches[0].screenX\n this.touchYStart = e.changedTouches[0].screenY\n }\n\n protected touchendHandler(e: TouchEvent): void {\n if (this.cancellable === false) {\n return\n }\n const { touchXStart, touchYStart } = this\n if (typeof touchXStart !== 'number' || typeof touchYStart !== 'number') {\n return\n }\n this.touchXStart = undefined\n this.touchYStart = undefined\n const endX = e.changedTouches[0].screenX\n const endY = e.changedTouches[0].screenY\n const xDelta = Math.abs(endX - touchXStart)\n const yDelta = Math.abs(endY - touchYStart)\n const threshold = 20\n if (xDelta > threshold || yDelta > threshold) {\n this.open = false\n }\n }\n\n protected actionHandler(): void {\n this.dispatchEvent(new Event('action'))\n this.dismiss()\n }\n\n protected transitionendHandler(): void {\n if (!this.dismissed) {\n this.dispatchEvent(new Event('open'))\n } else {\n this.dismissed = false\n this.dispatchEvent(new Event('dismiss'))\n }\n }\n\n protected closeHandler(): void {\n this.open = false\n }\n\n protected override render(): TemplateResult {\n const classes = {\n body: true,\n withAction: !!this.action,\n withClose: !!this.close,\n }\n return html`\n <div class=\"${classMap(classes)}\">\n <slot></slot>\n </div>\n ${this.renderAction()} ${this.renderIcon()}\n `\n }\n\n protected renderAction(): TemplateResult | typeof nothing {\n const { action } = this\n if (!action) {\n return nothing\n }\n return html`\n <ui-button color=\"text\" class=\"action\" @click=\"${this.actionHandler}\" @action=\"${cancelEvent}\"\n >${action}</ui-button\n >\n `\n }\n\n protected renderIcon(): TemplateResult | typeof nothing {\n const { close } = this\n if (!close) {\n return nothing\n }\n return html`\n <ui-icon-button @click=\"${this.closeHandler}\" class=\"icon\" @action=\"${cancelEvent}\">\n <ui-icon icon=\"close\"></ui-icon>\n </ui-icon-button>\n `\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filled.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/text-field/internals/filled.styles.ts"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"filled.styles.d.ts","sourceRoot":"","sources":["../../../../../src/md/text-field/internals/filled.styles.ts"],"names":[],"mappings":";AAEA,wBA2GC"}
|
|
@@ -5,13 +5,16 @@ export default css `
|
|
|
5
5
|
--_active-indicator-height: 1px;
|
|
6
6
|
--_focus-active-indicator-color: var(--md-sys-color-primary, #6750a4);
|
|
7
7
|
--_focus-active-indicator-height: 2px;
|
|
8
|
+
border-radius: var(--md-sys-shape-corner-extra-small-top);
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
.surface {
|
|
11
12
|
height: 56px;
|
|
13
|
+
border-radius: inherit;
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
.container {
|
|
17
|
+
border-radius: inherit;
|
|
15
18
|
background-color: var(--md-sys-color-surface-variant);
|
|
16
19
|
}
|
|
17
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filled.styles.js","sourceRoot":"","sources":["../../../../../src/md/text-field/internals/filled.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"filled.styles.js","sourceRoot":"","sources":["../../../../../src/md/text-field/internals/filled.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2GjB,CAAA","sourcesContent":["import { css } from 'lit'\n\nexport default css`\n :host {\n --_active-indicator-color: var(--md-sys-color-on-surface-variant);\n --_active-indicator-height: 1px;\n --_focus-active-indicator-color: var(--md-sys-color-primary, #6750a4);\n --_focus-active-indicator-height: 2px;\n border-radius: var(--md-sys-shape-corner-extra-small-top);\n }\n\n .surface {\n height: 56px;\n border-radius: inherit;\n }\n\n .container {\n border-radius: inherit;\n background-color: var(--md-sys-color-surface-variant);\n }\n\n .body {\n overflow: hidden;\n }\n\n .label {\n position: absolute;\n transform: translateY(-1.35rem) scale(0.8);\n top: 50%;\n }\n\n .labelResting .label {\n transform: translateY(-50%) scale(1);\n }\n\n :host(:focus-within) .label {\n color: var(--md-sys-color-primary);\n }\n\n .highlight {\n inset: auto 0px 0px;\n pointer-events: none;\n position: absolute;\n width: 100%;\n z-index: 4;\n }\n\n .highlight::before {\n content: '';\n border-bottom: 1px solid var(--md-sys-color-on-surface-variant);\n inset: auto 0px 0px;\n position: absolute;\n }\n\n .highlight::after {\n content: '';\n border-bottom-color: var(--md-sys-color-primary);\n border-bottom-width: 2px;\n border-bottom-style: solid;\n opacity: 0;\n transform: scaleX(0);\n transform-origin: center center;\n\n transition:\n opacity 150ms cubic-bezier(0.4, 0, 0.2, 1) 0s,\n transform 150ms cubic-bezier(0.4, 0, 0.2, 1) 150ms;\n\n position: absolute;\n inset: auto 0px 0px;\n }\n\n :host(:focus-within) .highlight::after {\n opacity: 1;\n transform: scaleX(1);\n }\n\n :host([disabled]) .highlight::before {\n border-bottom-color: var(--md-sys-color-on-surface);\n opacity: 0.38;\n }\n\n :host([invalid]) .highlight::before {\n border-bottom-color: var(--md-sys-color-error);\n }\n\n :host([invalid]:hover) .highlight::before {\n border-bottom-color: var(--md-sys-color-on-error-container);\n }\n\n .labelHidden .body {\n padding-top: 0;\n }\n\n .container::before {\n content: '';\n position: absolute;\n inset: 0;\n opacity: 0;\n background-color: var(--md-sys-color-on-surface-variant);\n transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);\n }\n\n :host(:hover) .container::before {\n opacity: var(--md-sys-state-hover-state-layer-opacity);\n }\n\n .body {\n padding-top: 1em;\n }\n`\n"]}
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* <h3>Title</h3> <!-- h1, h2, or h3 -->
|
|
10
10
|
* <!-- Any content -->
|
|
11
11
|
* <div class="dialog-buttons">
|
|
12
|
-
* <ui-
|
|
13
|
-
* <ui-
|
|
12
|
+
* <ui-button color="text" value="cancel" submit>Cancel</ui-button>
|
|
13
|
+
* <ui-button color="text" value="submit" submit>Create</ui-button>
|
|
14
14
|
* </div>
|
|
15
15
|
* </form>
|
|
16
16
|
* </dialog>
|
|
@@ -10,8 +10,8 @@ import { css } from 'lit';
|
|
|
10
10
|
* <h3>Title</h3> <!-- h1, h2, or h3 -->
|
|
11
11
|
* <!-- Any content -->
|
|
12
12
|
* <div class="dialog-buttons">
|
|
13
|
-
* <ui-
|
|
14
|
-
* <ui-
|
|
13
|
+
* <ui-button color="text" value="cancel" submit>Cancel</ui-button>
|
|
14
|
+
* <ui-button color="text" value="submit" submit>Create</ui-button>
|
|
15
15
|
* </div>
|
|
16
16
|
* </form>
|
|
17
17
|
* </dialog>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.module.js","sourceRoot":"","sources":["../../../../src/styles/m3/dialog.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEjB,CAAA","sourcesContent":["import { css } from 'lit'\n\n/**\n * Definitions that style a `<dialog>` element as material dialog.\n *\n * The dialog has to have the following structure:\n *\n * ```html\n * <dialog>\n * <form> <!-- optional -->\n * <h3>Title</h3> <!-- h1, h2, or h3 -->\n * <!-- Any content -->\n * <div class=\"dialog-buttons\">\n * <ui-
|
|
1
|
+
{"version":3,"file":"dialog.module.js","sourceRoot":"","sources":["../../../../src/styles/m3/dialog.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyEjB,CAAA","sourcesContent":["import { css } from 'lit'\n\n/**\n * Definitions that style a `<dialog>` element as material dialog.\n *\n * The dialog has to have the following structure:\n *\n * ```html\n * <dialog>\n * <form> <!-- optional -->\n * <h3>Title</h3> <!-- h1, h2, or h3 -->\n * <!-- Any content -->\n * <div class=\"dialog-buttons\">\n * <ui-button color=\"text\" value=\"cancel\" submit>Cancel</ui-button>\n * <ui-button color=\"text\" value=\"submit\" submit>Create</ui-button>\n * </div>\n * </form>\n * </dialog>\n * ```\n */\nexport default css`\n dialog {\n border: none;\n border-radius: var(--md-sys-shape-corner-extra-large);\n background-color: var(--md-sys-color-surface);\n box-shadow: var(--md-sys-elevation-3);\n color: var(--md-sys-color-on-surface-variant);\n padding: 24px;\n\n font-family: var(--md-sys-typescale-body-medium-font);\n font-weight: var(--md-sys-typescale-body-medium-weight);\n font-size: var(--md-sys-typescale-body-medium-size);\n letter-spacing: var(--md-sys-typescale-body-medium-tracking);\n line-height: var(--md-sys-typescale-body-medium-height);\n }\n\n dialog::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n background-color: var(--md-sys-color-surface-tint);\n opacity: 0.11;\n pointer-events: none;\n }\n\n dialog h1,\n dialog h2,\n dialog h3 {\n color: var(--md-sys-color-on-surface);\n margin: 0;\n padding: 0;\n font-family: var(--md-sys-typescale-headline-small-font);\n font-weight: var(--md-sys-typescale-headline-small-weight);\n font-size: var(--md-sys-typescale-headline-small-size);\n letter-spacing: var(--md-sys-typescale-headline-small-tracking);\n line-height: var(--md-sys-typescale-headline-small-height);\n margin-bottom: 16px;\n text-align: center;\n }\n\n dialog .dialog-buttons {\n margin-top: 24px;\n display: flex;\n align-items: center;\n justify-content: end;\n }\n\n dialog[open] {\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-dialog;\n }\n\n dialog[open]::backdrop {\n animation: 250ms cubic-bezier(0.2, 0, 0, 1) show-backdrop;\n }\n\n @keyframes show-dialog {\n from {\n transform: translateY(-110%) scaleY(0);\n }\n to {\n transform: translateY(0%) scaleY(1);\n }\n }\n\n @keyframes show-backdrop {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n }\n`\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/m3/tokens.ts"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../../src/styles/m3/tokens.ts"],"names":[],"mappings":";AAEA,wBAigBC"}
|