-
\ No newline at end of file
+
diff --git a/demo/src/app/pages/demo-pages.module.ts b/demo/src/app/pages/demo-pages.module.ts
index c51c2cafd..54602e2b9 100644
--- a/demo/src/app/pages/demo-pages.module.ts
+++ b/demo/src/app/pages/demo-pages.module.ts
@@ -4,14 +4,9 @@ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
import { RouterModule } from "@angular/router";
import { SuiModule } from "../../../../src";
import { DemoComponentsModule } from "../components/demo-components.module";
-
import { GettingStartedPage } from "./getting-started/getting-started.page";
-
-// Collections
import { MessagePageComponents } from "./collections/message/message.page";
import { PaginationPageComponents } from "./collections/pagination/pagination.page";
-
-// Modules
import { AccordionPageComponents } from "./modules/accordion/accordion.page";
import { CheckboxPageComponents } from "./modules/checkbox/checkbox.page";
import { CollapsePageComponents } from "./modules/collapse/collapse.page";
@@ -21,18 +16,23 @@ import { DropdownPageComponents } from "./modules/dropdown/dropdown.page";
import { ModalPageComponents, ConfirmModalComponent } from "./modules/modal/modal.page";
import { PopupPageComponents } from "./modules/popup/popup.page";
import { ProgressPageComponents } from "./modules/progress/progress.page";
+import { RangePageComponents } from "./modules/range/range.page";
import { RatingPageComponents } from "./modules/rating/rating.page";
import { SearchPageComponents } from "./modules/search/search.page";
import { SelectPageComponents } from "./modules/select/select.page";
import { SidebarPageComponents } from "./modules/sidebar/sidebar.page";
import { TabsPageComponents } from "./modules/tabs/tabs.page";
import { TransitionPageComponents } from "./modules/transition/transition.page";
+import { LocalizationPageComponents } from "./behaviors/localization/localization.page";
+import { TestPage } from "./development/test/test.page";
+
+// Collections
+
+// Modules
// Behaviors
-import { LocalizationPageComponents } from "./behaviors/localization/localization.page";
// Development
-import { TestPage } from "./development/test/test.page";
@NgModule({
imports: [
@@ -60,6 +60,7 @@ import { TestPage } from "./development/test/test.page";
ModalPageComponents,
PopupPageComponents,
ProgressPageComponents,
+ RangePageComponents,
RatingPageComponents,
SearchPageComponents,
SelectPageComponents,
diff --git a/demo/src/app/pages/modules/range/range.page.html b/demo/src/app/pages/modules/range/range.page.html
new file mode 100644
index 000000000..30e67eea2
--- /dev/null
+++ b/demo/src/app/pages/modules/range/range.page.html
@@ -0,0 +1,43 @@
+
+
Rating
+
+
A rating indicates user interest in content
+
+
+
+
+
Important Note
+
+ The range is a port of Semantic-UI-Range,
+ an external module for Semantic UI. If you'd like to use the range in your app, you must include the module's
+ CSS alongside Semantic UI's.
+
+
+
+
+
+
Examples
+
+
+
Range
+
A basic range
+
+
+
+
+
+
Range
+
Range with min max
+
+
+
+
+
+
Range
+
Range that skips 5 values with each step
+
+
+
+
API
+
+
diff --git a/demo/src/app/pages/modules/range/range.page.ts b/demo/src/app/pages/modules/range/range.page.ts
new file mode 100644
index 000000000..6829e42d8
--- /dev/null
+++ b/demo/src/app/pages/modules/range/range.page.ts
@@ -0,0 +1,149 @@
+import { Component } from "@angular/core";
+import { ApiDefinition } from "../../../components/api/api.component";
+
+const exampleStandardTemplate = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Read Only?
+
+
+`;
+
+const exampleMinMaxTemplate = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+const exampleStepTemplate = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+`;
+
+@Component({
+ selector: "demo-page-range",
+ templateUrl: "./range.page.html"
+})
+export class RangePage {
+ public api:ApiDefinition = [
+ {
+ selector: "",
+ properties: [
+ {
+ name: "min",
+ type: "number",
+ description: "The minimum value of the range.",
+ defaultValue: "0"
+ },
+ {
+ name: "max",
+ type: "number",
+ description: "The maximum value of the range.",
+ defaultValue: "100"
+ },
+ {
+ name: "step",
+ type: "number",
+ description: "The amount each step skips in value, for step 2 the value will skip like so: 0, 2, 4...",
+ defaultValue: "100"
+ },
+ {
+ name: "isReadonly",
+ type: "boolean",
+ description: "Sets whether or not the value is read-only. ",
+ defaultValue: "false"
+ }
+ ],
+ events: [
+ {
+ name: "valueChange",
+ type: "number",
+ description: "Fires whenever the value value is changed."
+ }
+ ]
+ }
+ ];
+ public exampleStandardTemplate:string = exampleStandardTemplate;
+ public exampleMinMaxTemplate:string = exampleMinMaxTemplate;
+ public exampleStepTemplate:string = exampleStepTemplate;
+ public cssInclude:string = ``;
+}
+
+@Component({
+ selector: "example-range-standard",
+ template: exampleStandardTemplate
+})
+export class RangeExampleStandard {
+ public value:number = 3;
+ public readonly:boolean;
+}
+
+@Component({
+ selector: "example-range-min-max",
+ template: exampleMinMaxTemplate
+})
+export class RangeExampleMinMax {
+ public value:number = 3;
+ public readonly:boolean;
+}
+
+@Component({
+ selector: "example-range-step",
+ template: exampleStepTemplate
+})
+export class RangeExampleStep {
+ public value:number = 5;
+ public readonly:boolean;
+}
+
+export const RangePageComponents = [RangePage, RangeExampleStandard, RangeExampleMinMax, RangeExampleStep];
diff --git a/demo/src/index.html b/demo/src/index.html
index cb1e5c693..77b5112a3 100644
--- a/demo/src/index.html
+++ b/demo/src/index.html
@@ -15,6 +15,8 @@
+
+
diff --git a/src/modules/index.ts b/src/modules/index.ts
index e00c024dc..493db24b3 100644
--- a/src/modules/index.ts
+++ b/src/modules/index.ts
@@ -7,6 +7,7 @@ export * from "./dropdown";
export * from "./modal";
export * from "./popup";
export * from "./progress";
+export * from "./range";
export * from "./rating";
export * from "./search";
export * from "./select";
diff --git a/src/modules/range/components/range.ts b/src/modules/range/components/range.ts
new file mode 100644
index 000000000..e02ad8193
--- /dev/null
+++ b/src/modules/range/components/range.ts
@@ -0,0 +1,158 @@
+import { Component, Input, Renderer2, ViewChild, EventEmitter, Output, OnInit, ElementRef } from "@angular/core";
+
+@Component({
+ selector: "sui-range",
+ template: `
+